Music streaming

ABSTRACT

Methods and systems for a complete vehicle ecosystem are provided. Specifically, systems that when taken alone, or together, provide an individual or group of individuals with an intuitive and comfortable vehicular environment. The present disclosure includes a system to generate a vehicle communication system. The vehicle communication system can determine which devices are within the vehicle. From this determination, the vehicle communication system may create a universal bus and hotspot where applications, data, multimedia information, and resources can be shared both with the vehicle and with the other devices in the vehicle.

CROSS REFERENCE TO RELATED APPLICATIONS

The present application claims the benefits of and priority, under 35U.S.C. §119(e), to U.S. Provisional Application Ser. No. 61/560,509,filed on Nov. 26, 2011, entitled “Complete Vehicle Ecosystem;” Ser. No.61/637,164, filed on Apr. 23, 2012, entitled “Complete VehicleEcosystem;” Ser. No. 61/646,747, filed on May 14, 2012, entitled“Branding of Electrically Propelled Vehicles Via the Generation ofSpecific Operating Sounds;” Ser. No. 61/653,275, filed on May 30, 2012,entitled “Vehicle Application Store for Console;” Ser. No. 61/653,264,filed on May 30, 2012, entitled “Control of Device Features Based onVehicle State;” Ser. No. 61/653,563, filed on May 31, 2012, entitled“Complete Vehicle Ecosystem;” Ser. No. 61/663,335, filed on Jun. 22,2012, entitled “Complete Vehicle Ecosystem;” Ser. No. 61/672,483, filedon Jul. 17, 2012, entitled “Vehicle Climate Control;” and Ser. No.61/714,016, filed on Oct. 15, 2012, entitled “Vehicle Middleware.” Theentire disclosures of the applications listed above are herebyincorporated by reference, in their entirety, for all that they teachand for all purposes.

This application is also related to U.S. patent application Ser. No.13/420,236, filed on Mar. 14, 2012, entitled, “Configurable VehicleConsole;” Ser. No. 13/420,240, filed on Mar. 14, 2012, entitled“Removable, Configurable Vehicle Console;” Ser. No. 13/462,593, filed onMay 2, 2012; Ser. No. 13/462,596, filed on May 2, 2012, entitled“Configurable Heads-Up Dash Display;” Ser. No. ______, filed on Nov. 16,2012, entitled “Implementation of Conquest Functionality in AutomotiveConsule” (Attorney Docket No. 6583-228); Ser. No. ______, filed on Nov.16, 2012, entitled “Car Application Store for Console” (Attorney DocketNo. 6583-230); Ser. No. ______, filed on Nov. 16, 2012, entitled“Sharing Applications/Media Between Car and Phone (Hydroid)” (AttorneyDocket No. 6583-231); Ser. No. ______, filed on Nov. 16, 2012, entitled“In-Cloud Connection for Car Multimedia” (Attorney Docket No. 6583-232);Ser. No. ______, filed on Nov. 16, 2012, entitled “Music Streaming”(Attorney Docket No. 6583-233); Ser. No. ______, filed on Nov. 16, 2012,entitled “Activate/Deactivate Features of Console/Car Based on Location(State Law Compliance)” (Attorney Docket No. 6583-234); Ser. No. ______,filed on Nov. 16, 2012, entitled “Insurance Tracking” (Attorney DocketNo. 6583-235); Ser. No. ______, filed on Nov. 16, 2012, entitled “LawBreaking/Behavior Sensor” (Attorney Docket No. 6583-236); Ser. No.______, filed on Nov. 16, 2012, entitled “Etiquette Suggestion”(Attorney Docket No. 6583-237); Ser. No. ______, filed on Nov. 16, 2012,entitled “Parking Space Finder Based on Parking Meter Data” (AttorneyDocket No. 6583-238); Ser. No. ______, filed on Nov. 16, 2012, entitled“Parking Meter Expired Alert” (Attorney Docket No. 6583-239); Ser. No.______, filed on Nov. 16, 2012, entitled “Object Sensing (PedestrianAvoidance/Accident Avoidance)” (Attorney Docket No. 6583-240); Ser. No.______, filed on Nov. 16, 2012, entitled “Proximity Warning Relative toOther Cars” (Attorney Docket No. 6583-241); Ser. No. ______, filed onNov. 16, 2012, entitled “Street Side Sensors” (Attorney Docket No.6583-242); Ser. No. ______, filed on Nov. 16, 2012, entitled “CarLocation” (Attorney Docket No. 6583-263); Ser. No. ______, filed on Nov.16, 2012, entitled “Universal Bus in the Car” (Attorney Docket No.6583-244); Ser. No. ______, filed on Nov. 16, 2012, entitled “Mobile HotSpot/Router/Application Share site or Network” (Attorney Docket No.6583-245); Ser. No. ______, filed on Nov. 16, 2012, entitled “UniversalConsole Chassis for the Car” (Attorney Docket No. 6583-246); Ser. No.______, filed on Nov. 16, 2012, entitled “Middleware” (Attorney DocketNo. 6583-247); Ser. No. ______, filed on Nov. 16, 2012, entitled “RealTime Traffic” (Attorney Docket No. 6583-248); Ser. No. ______, filed onNov. 16, 2012, entitled “Map Updating” (Attorney Docket No. 6583-249);Ser. No. ______, filed on Nov. 16, 2012, entitled “Indications CallMechanic” (Attorney Docket No. 6583-250); Ser. No. ______, filed on Nov.16, 2012, entitled “Felon Identifier” (Attorney Docket No. 6583-251);Ser. No. ______, filed on Nov. 16, 2012, entitled “Behavioral Trackingand Vehicle Applications” (Attorney Docket No. 6583-252); Ser. No.______, filed on Nov. 16, 2012, entitled “Improvements to ControllerArea Network Bus” (Attorney Docket No. 6583-314); Ser. No. ______, filedon Nov. 16, 2012, entitled “Location Information Exchange BetweenVehicle and Device” (Attorney Docket No. 6583-315); Ser. No. ______,filed on Nov. 16, 2012, entitled “In Car Communication Between Devices”(Attorney Docket No. 6583-316); Ser. No. ______, filed on Nov. 16, 2012,entitled “Configurable Hardware Unit for Car Systems” (Attorney DocketNo. 6583-317); Ser. No. ______, filed on Nov. 16, 2012, entitled“Feature Recognition for Configuring a Vehicle Console and AssociatedDevices” (Attorney Docket No. 6583-318); Ser. No. ______, filed on Nov.16, 2012, entitled “Configurable Vehicle Console” (Attorney Docket No.6583-412); Ser. No. ______, filed on Nov. 16, 2012, entitled“Configurable Dash Display” (Attorney Docket No. 6583-413); Ser. No.______, filed on Nov. 16, 2012, entitled “Configurable Heads-Up DashDisplay” (Attorney Docket No. 6583-414); and Ser. No. ______, filed onNov. 16, 2012, entitled “Removable, Configurable Vehicle Console”(Attorney Docket No. 6583-415). The entire disclosures of theapplications listed above are hereby incorporated by reference, in theirentirety, for all that they teach and for all purposes.

BACKGROUND

Whether using private, commercial, or public transport, the movement ofpeople and/or cargo has become a major industry. In today'sinterconnected world daily travel is essential to engaging in commerce.Commuting to and from work can account for a large portion of atraveler's day. As a result, vehicle manufacturers have begun to focuson making this commute, and other journeys, more enjoyable and easier.

Currently, vehicle manufacturers attempt to entice travelers to use aspecific conveyance based on any number of features. Most of thesefeatures focus on vehicle safety or efficiency. From the addition ofsafety-restraints, air-bags, and warning systems to more efficientengines, motors, and designs, the vehicle industry has worked to appeasethe supposed needs of the traveler. Recently, however, vehiclemanufactures have shifted their focus to user and passenger comfort as aprimary concern. Making an individual more comfortable while travelinginstills confidence and pleasure in using a given vehicle and increasesan individual's preference for a given manufacturer and/or vehicle type.

One way to instill comfort in a vehicle is to create an environmentwithin the vehicle similar to that of an individual's home. Integratingfeatures in a vehicle that are associated with comfort found in anindividual's home can ease a traveler's transition from home to vehicle.Several manufacturers have added comfort features in vehicles such asthe following: leather seats, adaptive and/or personal climate controlsystems, music and media players, ergonomic controls, Internetconnectivity, etc. However, because these manufacturers have addedfeatures to a conveyance, they have built comfort around a vehicle andfailed to build a vehicle around comfort. Thus, the vehicle as anecosystem has not been fully considered.

SUMMARY

There is a need for a vehicle ecosystem that can integrate both physicaland mental comforts while seamlessly operating with current electronicdevices to result in a totally intuitive and immersive user experience.These and other needs are addressed by the various aspects, embodiments,and/or configurations of the present disclosure. Also, while thedisclosure is presented in terms of exemplary embodiments, it should beappreciated that individual aspects of the disclosure can be separatelyclaimed.

The present disclosure can provide a number of advantages depending onthe particular aspect, embodiment, and/or configuration. Currently, thevehicle industry is dominated by conveyances offering a separate comfortexperience from a home, work, or other aspect of a traveler's life.Unfortunately, current vehicles include a series of separate devicesthat work together while an individual or individuals are associatedwith the vehicle. Technology areas and devices such as user interfaces,applications, tracking capabilities, hardware, and/or location-basedcommunications, could be combined together, or used separately, to forma complete vehicle ecosystem. This ecosystem can provide a connected andintuitive user experience for any traveler.

A series of devices associated with a vehicle along with other devicescan form a complete and familiar user experience. In particular, thedevices, applications, interfaces, hardware, and software may combine toform a user-friendly environment while traveling or otherwise movingfrom one location to another and/or when a vehicle is at rest. Moreover,aspects of the present disclosure may provide communication between thevehicle and a user at any given time. Specifically, communicationbetween a vehicle and another device may also relay information to anindividual and/or group of individuals. This communication between avehicle and at least one other device may include, but is not limitedto, communication between a vehicle and: 1) at least one mobile device,2) at least one other vehicle, 3) another system/group of devices, 4) anon-mobile device, and 5) combinations thereof. These and otheradvantages will be apparent from the disclosure.

Methods and systems for a complete vehicle ecosystem are provided.Specifically, systems that when taken alone, or together, provide anindividual or group of individuals with an intuitive and comfortablevehicular environment. The present disclosure includes a system togenerate a vehicle communication system. The vehicle communicationsystem can determine which devices are within the vehicle. From thisdetermination, the vehicle communication system may create a universalbus and hotspot where applications, data, multimedia information, andresources can be shared both with the vehicle and with the other devicesin the vehicle.

The term “ecosystem” or “vehicle ecosystem,” as used herein, refers to acommunity of person(s) in conjunction with the vehicle or other devicecomponents of their environment (for example, climate control, safetyfeatures, mobile devices, multimedia sources etc.), interacting as asystem.

The term “environment” or “vehicle environment,” as used herein, refersto the surroundings or conditions in which a person operates a vehicle.

The term “sensor,” as used herein, refers to a converter or instrumentthat measures a physical quantity or quality and converts themeasurement into a signal which can be read, observed, stored, and/orunderstood by an observer or by another instrument.

The term “stimulus,” as used herein, refers to some event or somethingexternal that influences an activity.

The term “automotive navigation system” is a satellite navigation systemdesigned for use in automobiles. It typically uses a GPS navigationdevice to acquire position data to locate the user on a road in theunit's map database. Using the road database, the unit can givedirections to other locations along roads also in its database. Deadreckoning using distance data from sensors attached to the drivetrain, agyroscope and an accelerometer can be used for greater reliability, asGPS signal loss and/or multipath can occur due to urban canyons ortunnels.

The term “bus” and variations thereof, as used herein, refers to asubsystem that transfers information and/or data between variouscomponents. A bus generally refers to the collection communicationhardware interface, interconnects, bus architecture, and/or protocoldefining the communication scheme for a communication system and/orcommunication network. A bus may also be specifically refer to a part ofa communication hardware that interfaces the communication hardware withthe interconnects that connect to other components of the correspondingcommunication network. The bus may be for a wired network, such as aphysical bus, or wireless network, such as part of an antenna orhardware that couples the communication hardware with the antenna. A busarchitecture supports a defined format in which information and/or datais arranged when sent and received through a communication network. Aprotocol may define the format and rules of communication of a busarchitecture.

The terms “communication device,” “smartphone,” and “mobile device,” andvariations thereof, as used herein, are used interchangeably and includeany type of device capable of communicating with one or more of anotherdevice and/or across a communications network, via a communicationsprotocol, and the like. Exemplary communication devices may include butare not limited to smartphones, handheld computers, laptops, netbooks,notebook computers, subnotebooks, tablet computers, scanners, portablegaming devices, phones, pagers, GPS modules, portable music players, andother Internet-enabled and/or network-connected devices.

The terms “head unit,” “dash,” “dashboard,” and variations thereof, asused herein, are used interchangeably and include any panel and/or areaof a vehicle disposed adjacent to an operator, user, and/or passenger.Typical dashboards may include but are not limited to one or morecontrol panel, instrument housing, head unit, indicator, gauge, meter,light, audio equipment, computer, screen, display, HUD unit, andgraphical user interface.

The term “electronic address” refers to any contactable address,including a telephone number, instant message handle, e-mail address,Universal Resource Locator (“URL”), Universal Resource Identifier(“URI”), Address of Record (“AOR”), electronic alias in a database, likeaddresses, and combinations thereof.

The term “communication system” or “communication network” andvariations thereof, as used herein, refers to a collection ofcommunication components capable of one or more of transmission, relay,interconnect, control, or otherwise manipulate information or data fromat least one transmitter to at least one receiver. As such, thecommunication may include a range of systems supporting point-to-pointto broadcasting of the information or data. A communication system mayrefer to the collection individual communication hardware as well as theinterconnects associated with and connecting the individualcommunication hardware. Communication hardware may refer to dedicatedcommunication hardware or may refer a processor coupled with acommunication means (i.e. an antenna) and running software capable ofusing the communication means to send a signal within the communicationsystem. Interconnect refers some type of wired or wireless communicationlink that connects various components, such as communication hardware,within a communication system. A communication network may refer to aspecific setup of a communication system with the collection ofindividual communication hardware and interconnects having somedefinable network topography. A communication network may include wiredand/or wireless network having a pre-set to an ad hoc network structure.

The phrases “at least one”, “one or more”, and “and/or” are open-endedexpressions that are both conjunctive and disjunctive in operation. Forexample, each of the expressions “at least one of A, B and C”, “at leastone of A, B, or C”, “one or more of A, B, and C”, “one or more of A, B,or C” and “A, B, and/or C” means A alone, B alone, C alone, A and Btogether, A and C together, B and C together, or A, B and C together.

The term “a” or “an” entity,” as used herein, refers to one or more ofthat entity. As such, the terms “a” (or “an”), “one or more” and “atleast one” can be used interchangeably herein. It is also to be notedthat the terms “comprising”, “including”, and “having” can be usedinterchangeably.

The term “automatic” and variations thereof, as used herein, refers toany process or operation done without material human input when theprocess or operation is performed. However, a process or operation canbe automatic, even though performance of the process or operation usesmaterial or immaterial human input, if the input is received beforeperformance of the process or operation. Human input is deemed to bematerial if such input influences how the process or operation will beperformed. Human input that consents to the performance of the processor operation is not deemed to be “material”.

The term “computer-readable medium,” as used herein, refers to anytangible storage and/or transmission medium that participate inproviding instructions to a processor for execution. Such a medium maytake many forms, including but not limited to, non-volatile media,volatile media, and transmission media. Non-volatile media includes, forexample, NVRAM, or magnetic or optical disks. Volatile media includesdynamic memory, such as main memory. Common forms of computer-readablemedia include, for example, a floppy disk, a flexible disk, hard disk,magnetic tape, or any other magnetic medium, magneto-optical medium, aCD-ROM, any other optical medium, punch cards, paper tape, any otherphysical medium with patterns of holes, a RAM, a PROM, and EPROM, aFLASH-EPROM, a solid state medium like a memory card, any other memorychip or cartridge, a carrier wave as described hereinafter, or any othermedium from which a computer can read. A digital file attachment toe-mail or other self-contained information archive or set of archives isconsidered a distribution medium equivalent to a tangible storagemedium. When the computer-readable media is configured as a database, itis to be understood that the database may be any type of database, suchas relational, hierarchical, object-oriented, and/or the like.Accordingly, the disclosure is considered to include a tangible storagemedium or distribution medium and prior art-recognized equivalents andsuccessor media, in which the software implementations of the presentdisclosure are stored.

The term “desktop,” as used herein, refers to a metaphor used to portraysystems. A desktop is generally considered a “surface” that typicallyincludes pictures, called icons, widgets, folders, etc. that canactivate show applications, windows, cabinets, files, folders,documents, and other graphical items. The icons are generally selectableto initiate a task through user interface interaction to allow a user toexecute applications or conduct other operations.

The term “display,” as used herein, refers to a portion of a screen usedto display the output of a computer to a user.

The term “displayed image,” as used herein, refers to an image producedon the display. A typical displayed image is a window or desktop. Thedisplayed image may occupy all or a portion of the display.

The term “display orientation,” as used herein, refers to the way inwhich a rectangular display is oriented by a user for viewing. The twomost common types of display orientation are portrait and landscape. Inlandscape mode, the display is oriented such that the width of thedisplay is greater than the height of the display (such as a 4:3 ratio,which is 4 units wide and 3 units tall, or a 16:9 ratio, which is 16units wide and 9 units tall). Stated differently, the longer dimensionof the display is oriented substantially horizontal in landscape modewhile the shorter dimension of the display is oriented substantiallyvertical. In the portrait mode, by contrast, the display is orientedsuch that the width of the display is less than the height of thedisplay. Stated differently, the shorter dimension of the display isoriented substantially horizontal in the portrait mode while the longerdimension of the display is oriented substantially vertical. Themulti-screen display can have one composite display that encompasses allthe screens. The composite display can have different displaycharacteristics based on the various orientations of the device.

The term “gesture,” as used herein, refers to a user action thatexpresses an intended idea, action, meaning, result, and/or outcome. Theuser action can include manipulating a device (e.g., opening or closinga device, changing a device orientation, moving a trackball or wheel,etc.), movement of a body part in relation to the device, movement of animplement or tool in relation to the device, audio inputs, etc. Agesture may be made on a device (such as on the screen) or with thedevice to interact with the device.

The term “module,” as used herein, refers to any known or laterdeveloped hardware, software, firmware, artificial intelligence, fuzzylogic, or combination of hardware and software that is capable ofperforming the functionality associated with that element.

The term “gesture recognition” or “gesture capture,” as used herein,refers to a sense or otherwise a detection of an instance and/or type ofuser gesture. The gesture capture can occur in one or more areas of thescreen, A gesture region can be on the display, where it may be referredto as a touch sensitive display or off the display where it may bereferred to as a gesture capture area.

A “multi-screen application,” as used herein, refers to an applicationthat is capable of producing one or more windows that may simultaneouslyoccupy multiple screens. A multi-screen application commonly can operatein single-screen mode in which one or more windows of the applicationare displayed only on one screen or in multi-screen mode in which one ormore windows are displayed simultaneously on multiple screens.

A “single-screen application,” as used herein, refers to an applicationthat is capable of producing one or more windows that may occupy only asingle screen at a time.

The term “screen,” “touch screen,” or “touchscreen,” as used herein,refers to a physical structure that enables the user to interact withthe computer by touching areas on the screen and provides information toa user through a display. The touch screen may sense user contact in anumber of different ways, such as by a change in an electrical parameter(e.g., resistance or capacitance), acoustic wave variations, infraredradiation proximity detection, light variation detection, and the like.In a resistive touch screen, for example, normally separated conductiveand resistive metallic layers in the screen pass an electrical current.When a user touches the screen, the two layers make contact in thecontacted location, whereby a change in electrical field is noted andthe coordinates of the contacted location calculated. In a capacitivetouch screen, a capacitive layer stores electrical charge, which isdischarged to the user upon contact with the touch screen, causing adecrease in the charge of the capacitive layer. The decrease ismeasured, and the contacted location coordinates determined. In asurface acoustic wave touch screen, an acoustic wave is transmittedthrough the screen, and the acoustic wave is disturbed by user contact.A receiving transducer detects the user contact instance and determinesthe contacted location coordinates.

The term “window” refers to a, typically rectangular, displayed image onat least part of a display that contains or provides content differentfrom the rest of the screen. The window may obscure the desktop.

The terms “determine”, “calculate” and “compute,” and variationsthereof, as used herein, are used interchangeably and include any typeof methodology, process, mathematical operation or technique.

It shall be understood that the term “means” as used herein shall begiven its broadest possible interpretation in accordance with 35 U.S.C.,Section 112, Paragraph 6. Accordingly, a claim incorporating the term“means” shall cover all structures, materials, or acts set forth herein,and all of the equivalents thereof. Further, the structures, materialsor acts and the equivalents thereof shall include all those described inthe summary of the invention, brief description of the drawings,detailed description, abstract, and claims themselves.

The term “vehicle” as used herein includes any conveyance, or model of aconveyance, where the conveyance was originally designed for the purposeof moving one or more tangible objects, such as people, animals, cargo,and the like. The term “vehicle” does not require that a conveyancemoves or is capable of movement. Typical vehicles may include but are inno way limited to cars, trucks, motorcycles, busses, automobiles,trains, railed conveyances, boats, ships, marine conveyances, submarineconveyances, airplanes, space craft, flying machines, human-poweredconveyances, and the like.

The preceding is a simplified summary of the disclosure to provide anunderstanding of some aspects of the disclosure. This summary is neitheran extensive nor exhaustive overview of the disclosure and its variousaspects, embodiments, and/or configurations. It is intended neither toidentify key or critical elements of the disclosure nor to delineate thescope of the disclosure but to present selected concepts of thedisclosure in a simplified form as an introduction to the more detaileddescription presented below. As will be appreciated, other aspects,embodiments, and/or configurations of the disclosure are possibleutilizing, alone or in combination, one or more of the features setforth above or described in detail below.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts an embodiment of a vehicle operating environment;

FIG. 2 is a block diagram of an embodiment of a vehicle system;

FIG. 3 is a block diagram of an embodiment of a vehicle interiorenvironment separated into areas and/or zones;

FIG. 4 depicts an embodiment of a sensor configuration for a vehicle;

FIG. 5 is a block diagram of an embodiment of a vehicle control system;

FIG. 6 another block diagram of an embodiment of a vehicle controlsystem;

FIG. 7A is a graphical representation of an embodiment of a gesture thata user may perform to provide input to a vehicle control system;

FIG. 7B is a graphical representation of an embodiment of a gesture thata user may perform to provide input to a vehicle control system;

FIG. 7C is a graphical representation of an embodiment of a gesture thata user may perform to provide input to a vehicle control system;

FIG. 7D is a graphical representation of an embodiment of a gesture thata user may perform to provide input to a vehicle control system;

FIG. 7E is a graphical representation of an embodiment of a gesture thata user may perform to provide input to a vehicle control system;

FIG. 7F is a graphical representation of an embodiment of a gesture thata user may perform to provide input to a vehicle control system;

FIG. 7G is a graphical representation of an embodiment of a gesture thata user may perform to provide input to a vehicle control system;

FIG. 7H is a graphical representation of an embodiment of a gesture thata user may perform to provide input to a vehicle control system;

FIG. 7I is a graphical representation of an embodiment of a gesture thata user may perform to provide input to a vehicle control system;

FIG. 7J is a graphical representation of an embodiment of a gesture thata user may perform to provide input to a vehicle control system;

FIG. 7K is a graphical representation of an embodiment of a gesture thata user may perform to provide input to a vehicle control system;

FIG. 8 is a diagram of an embodiment of a data structure for storinginformation about a user of a vehicle;

FIG. 9 is a representation of a vehicle interior that shows anembodiment of an antenna placement configuration;

FIG. 10 is a block diagram of an embodiment of a communication system;

FIG. 11 is a block diagram of another embodiment of a communicationsystem;

FIG. 12A is a flow diagram of a method for creating a universal bus;

FIG. 12B is a flow diagram of a method for determining a signaloriginates inside a vehicle;

FIG. 13 is a flow diagram of a method for providing a network hot spot;

FIG. 14 is a flow diagram of a method for communicating between devices;

FIG. 15 is a flow diagram of a method for sharing an application from adevice;

FIG. 16 is a flow diagram of a method for managing data stored in thecloud;

FIG. 17 is a flow diagram of a method for steaming media in a vehicle.

In the appended figures, similar components and/or features may have thesame reference label. Further, various components of the same type maybe distinguished by following the reference label by a letter thatdistinguishes among the similar components. If only the first referencelabel is used in the specification, the description is applicable to anyone of the similar components having the same first reference labelirrespective of the second reference label.

DETAILED DESCRIPTION

Presented herein are embodiments of a complete vehicle ecosystem. Theecosystem can comprise single devices or a compilation of devices. Thisdevice, or these devices, may be capable of communicating with otherdevices and/or to an individual or group of individuals. Further, thisdevice, or these devices, can receive user input in unique ways. Theoverall design and functionality of each device provides for an enhanceduser experience making the device more useful and more efficient. Asdescribed herein, the device(s) may be electrical, mechanical,electro-mechanical, software-based, and/or combinations thereof.

A vehicle environment 100 that may contain a vehicle ecosystem is shownin FIG. 1. The vehicle environment 100 can contain areas associated witha vehicle or conveyance 104. The vehicle 104 is shown as a police carbut can be any type of conveyance. The environment 100 can include atleast three zones. A first zone 108 may be inside a vehicle 104. Thezone 108 includes any interior space, trunk space, engine compartment,or other associated space within or associated with the vehicle 104. Theinterior environment 108 can be defined by one or more techniques, forexample, geo-fencing.

A second zone 112 may be delineated by line 120. The zone 112 is createdby a range of one or more sensors associated with the vehicle 104. Thus,the area 112 is exemplary of the range of those sensors and what can bedetected by those sensors associated with the vehicle 104. The rest ofthe environment includes all space beyond the range of the sensors andis represented by 116. Thus, the environment 100 may have an area 116that includes all areas beyond the sensor range 112. The area 116 mayinclude future locations of travel that the vehicle 104 may proceed toin the future.

An embodiment of a vehicle system 200 is shown in FIG. 2. The vehiclesystem 200 may consist of hardware and/or software that conduct variousoperations for or with the vehicle 104. The operations can include, butare not limited to providing information to the user, receiving inputfrom the user, and controlling the functions or operation of the vehicle104, etc. The vehicle system 200 can include a vehicle control system204. The vehicle control system 204 can be any type of computing systemoperable to conduct the operations as described herein.

The vehicle control system 204 may interact with a memory or storagesystem 208 that stores system data. System data 208 may be any type ofdata needed for the vehicle control system 204 to control effectivelythe vehicle 104. An example of some of the data that may be stored bythe vehicle control system 204 may be as described in conjunction withFIG. 8. The system data 208 can represent any type of database or otherstorage system. Thus, the system data 208 can be a flat file datasystem, an object-oriented data system, or some other data system thatmay interface with the vehicle control system 204.

The vehicle control system 204 may communicate with a device or userinterface 212. The user interface 212 may be as described in conjunctionwith FIG. 5. The user interface 212 may be operable to receive userinput either through touch input, on one or more user interface buttons,or through a graphical user interface that may include a gesture captureregion, as described in conjunction with FIG. 5. Further, the symbol 212can represent a device that is located or associated with the vehicle104. The device 212 can be a mobile device, including, but not limitedto, a mobile telephone, a mobile computer, or other type of computingsystem or device that is either permanently located in or temporarilyassociated with the automobile 104. Thus, the vehicle control system 204can interface with the device 212 and leverage the devices computingcapability to provide one or more of the features or functions asdescribed herein.

The device or user interface 212 can receive input or provideinformation to a user 216. The user 216 may thus interact with thevehicle control system 204 through the interface or device 212. Further,the device 212 may include or have access to device data 220. The devicedata 220 can be any type of data that is used in conjunction with thedevice 212, including, but not limited to, multimedia data, preferencesdata, bioinformatics, data associated with the user 216, or other typesof data. The data may be stored in a device data 220 as a storage systemsimilar to that described in conjunction with system data 208.

The vehicle control system 204 may also communicate with or through acommunication network 224. The communication network 224 can representany type of wireless or wired communication system that may be includedwithin the vehicle 104 or operable to communicate outside the vehicle104. Thus, the communication network 224 can include a local areacommunication capability and a wide area communication capability. Forexample, the communication network 224 can include a BLUETOOTH™ wirelesssystem, an 802.11G or 802.11N wireless system, a CAN bus, an Ethernetnetwork within the vehicle 104, or other types of communication networksthat may function with or be associated with the vehicle 104. Further,the communication network 224 can also include wide area communicationcapabilities, including one or more of, but not limited to, a cellularcommunication capability, satellite telephone communication capability,a wireless wide area network communication capability, or other types ofcommunication capabilities that allow for the vehicle control system 204to communicate outside the vehicle 104.

The vehicle control system 204 may communicate through the communicationnetwork 224 to a server 228 that may be located in a facility that isnot within physical proximity to the vehicle 104. Thus, the server 224may represent a cloud computing system or cloud storage that allows thevehicle control system 204 to either gain access to further computingcapabilities or to storage in a location outside of the vehicle 104. Theserver 228 can include a computer processor and memory and be similar toany computing system as understood to one skilled in the art.

Further, the server 228 may be associated with stored data 232. Thestored data 232 may be stored in any system or by any method, asdescribed in conjunction with system data 208 and/or device data 220.The stored data 232 can include information that may be associated withone or more users 216 or associated with one or more vehicles 104. Thestored data 232, being stored in a cloud or in a distant facility, maybe exchanged among vehicles 104 or may be used by a user 216 indifferent locations or with different vehicles 104.

The vehicle control system 204 may also communicate with one or moresensors 236/242, which are either associated with the vehicle 104 orcommunicate with the vehicle 104. Vehicle sensors 242 may include one ormore sensors for providing information to the vehicle control system 204that determine or provide information about the environment 100 in whichthe vehicle 104 is operating. Embodiments of these sensors may be asdescribed in conjunction with FIG. 4. Non-vehicle sensor 236 can be anytype of sensor that isn't currently associated with the vehicle 104. Forexample, non-vehicle sensor 236 can be sensors in a traffic systemoperated by a third party that provides data to the vehicle controlsystem 204. Further, the non-vehicle sensor 236 can be other types ofsensors which provide information about the distant environment 116 orother information about the vehicle 104 or the environment 100. Thesenon-vehicle sensors 236 may be operated by third parties but provideinformation to the vehicle control system 204. Examples of informationthat may be used by the vehicle control system 204 may include weathertracking data, user health tracking data, vehicle maintenance data, orother types of data, which may provide environmental or other data tothe vehicle control system 204.

An arrangement or configuration for sensors within a vehicle 104 is asshown in FIG. 3. The sensor arrangement 300 can include one or moreareas 308 within the vehicle. An area can be a larger part of theenvironment inside or outside of the vehicle 104. Thus, area one 308Amay include the area within the trunk space or engine space of thevehicle 104 and/or the front passenger compartment. Area three 308B mayinclude a portion of the interior space 108 of the vehicle 104. The areaN, 308N may include the trunk space or rear compartment area, whenincluded within the vehicle 104. The interior space 108 may also bedivided into areas. Thus, one area may be associated with the frontpassenger's and driver's seats, a second area may be associated with themiddle passengers' seats, and a third area may be associated with a rearpassenger's seat. Each area 308 may include one or more sensors that arepositioned or operate to provide environmental information about thatarea 308.

Each area 308 may be further separated into one or more zones 312 withinthe area 308. For example, area 1 308A may be separated into zone A, 312a, and zone B, 312 a. Each zone 312 may be associated with a particularportion of the interior occupied by a passenger. For example, zone A,312 a may be associated with a driver. Zone B, 312 b, may be associatedwith a front passenger. Each zone 312 may include one or more sensorsthat are positioned or configured to collect information about theenvironment or ecosystem associated with that zone or person.

A passenger area 308 b may include more than two zones as described inconjunction with area 308 a. For example, area 308 b may include threezones, 312 c, 312 d, and 312 e. These three separate zones 312 c, 312 d,and 312 e may be associated with three passenger seats typically foundin the rear passenger area of an automobile 104. An area 308N and mayinclude a single zone 312N as there may be no separate passenger areasbut may include be a single trunk area within the vehicle 104. Thenumber of zones 312 is unlimited within the areas as the areas are alsounlimited inside the vehicle 104. Further, it should be noted that theremay be one or areas 308 or zones 312 that may be located outside thevehicle 104 that may have a specific set of sensors associatedtherewith.

A set of sensors or vehicle components 400 associated with the vehicle404 may be as shown in FIG. 4. The vehicle 104 includes, among manyother components common to vehicles, wheels 407, a power source 409(such as an engine, motor, or energy storage system (e.g., battery orcapacitive energy storage system)), a manual or automatic transmission412, a manual or automatic transmission gear controller 416, a powercontroller 420 (such as a throttle), a vehicle control system 204, thedisplay device 212, a braking system 436, a steering wheel 440, a powersource activation/deactivation switch 444 (e.g., an ignition), anoccupant seating system 448, a wireless signal receiver 453 to receivewireless signals from signal sources such as roadside beacons and otherelectronic roadside devices, and a satellite positioning system receiver457 (e.g., a Global Positioning System (“GPS”) (US), GLONASS (Russia),Galileo positioning system (EU), Compass navigation system (China), andRegional Navigational Satellite System (India) receiver).

The vehicle 104 includes a number of sensors in wireless or wiredcommunication with the vehicle control system 204 and/or display device212 to collect sensed information regarding the vehicle state,configuration, and/or operation. Exemplary sensors include wheel statesensor 460 to sense one or more of vehicle speed, acceleration,deceleration, wheel rotation, wheel speed (e.g., wheelrevolutions-per-minute), wheel slip, and the like, a power source energyoutput sensor 464 to sense a power output of the power source 409 bymeasuring one or more of current engine speed (e.g.,revolutions-per-minute), energy input and/or output (e.g., voltage,current, fuel consumption, and torque) (e.g., turbine speed sensor,input speed sensor, crankshaft position sensor, manifold absolutepressure sensor, mass flow sensor, and the like), and the like, a switchstate sensor 468 to determine a current activation or deactivation stateof the power source activation/deactivation switch 444, a transmissionsetting sensor 470 to determine a current setting of the transmission(e.g., gear selection or setting), a gear controller sensor 472 todetermine a current setting of the gear controller 416, a powercontroller sensor 474 to determine a current setting of the powercontroller 420, a brake sensor 476 to determine a current state (brakingor non-braking) of the braking system 436, a seating system sensor 478to determine a seat setting and current weight of seated occupant, ifany) in a selected seat of the seating system 448, exterior and interiorsound receivers 490 and 492 (e.g., a microphone and other type ofacoustic-to-electric transducer or sensor) to receive and convert soundwaves into an equivalent analog or digital signal. Examples of othersensors (not shown) that may be employed include safety system statesensors to determine a current state of a vehicular safety system (e.g.,air bag setting (deployed or undeployed) and/or seat belt setting(engaged or not engaged)), light setting sensor (e.g., currentheadlight, emergency light, brake light, parking light, fog light,interior or passenger compartment light, and/or tail light state (on oroff)), brake control (e.g., pedal) setting sensor, accelerator pedalsetting or angle sensor, clutch pedal setting sensor, emergency brakepedal setting sensor, door setting (e.g., open, closed, locked orunlocked) sensor, engine temperature sensor, passenger compartment orcabin temperature sensor, window setting (open or closed) sensor, one ormore cameras or other imaging sensors (which commonly convert an opticalimage into an electronic signal but may include other devices fordetection objects such as an electromagnetic radiation emitter/receiverthat emits electromagnetic radiation and receives electromagnetic wavesreflected by the object) to sense objects, such as other vehicles andpedestrians and optionally determine the distance, trajectory and speedof such objects, in the vicinity or path of the vehicle, odometerreading sensor, trip mileage reading sensor, wind speed sensor, radartransmitter/receiver output, brake wear sensor, steering/torque sensor,oxygen sensor, ambient lighting sensor, vision system sensor, rangingsensor, parking sensor, heating, venting, and air conditioning (HVAC)sensor, water sensor, air-fuel ratio meter, blind spot monitor, halleffect sensor, microphone, radio frequency (RF) sensor, infrared (IR)sensor, vehicle control system sensors, wireless network sensor (e.g.,Wi-Fi and/or BLUETOOTH™ sensor), cellular data sensor, and other sensorsknown to those of skill in the vehicle art.

In the depicted vehicle embodiment, the various sensors are incommunication with the display device 212 and vehicle control system 204via signal carrier network 480. As noted, the signal carrier network 480can be a network of signal conductors, a wireless network (e.g., a radiofrequency, microwave, or infrared communication system using acommunications protocol, such as Wi-Fi), or a combination thereof.

In one implementation, the control system 424 receives and reads sensorsignals, such as wheel and engine speed signals, as a digital inputcomprising, for example, a pulse width modulated (PWM) signal. Theprocessor 304 can be configured, for example, to read each of thesignals into a port configured as a counter or configured to generate aninterrupt on receipt of a pulse, such that the processor 304 candetermine, for example, the engine speed in revolutions per minute (RPM)and the speed of the vehicle in miles per hour (MPH). One skilled in theart will recognize that the two signals can be received from existingsensors in a vehicle comprising a tachometer and a speedometer,respectively. Alternatively, the current engine speed and vehicle speedcan be received in a communication packet as numeric values from aconventional dashboard subsystem comprising a tachometer and aspeedometer. The transmission speed sensor signal can be similarlyreceived as a digital input comprising a signal coupled to a counter orinterrupt signal of the processor 304, or received as a value in acommunication packet on the network or port interface 352 from anexisting subsystem of the vehicle. The ignition sensor signal can beconfigured as a digital input, wherein a HIGH value represents that theignition is on and a LOW value represents that the ignition is OFF.Three bits of the port interface 352 can be configured as a digitalinput to receive the gear shift position signal, representing eightpossible gear shift positions. Alternatively, the gear shift positionsignal can be received in a communication packet as a numeric value onthe port interface 352. The throttle position signal can be received asan analog input value, typically in the range 0-5 volts. Alternatively,the throttle position signal can be received in a communication packetas a numeric value on the port interface 352. The output of othersensors can be processed in a similar fashion.

Other sensors may be included and position in the interior space 108 ofthe vehicle 104. Generally, these interior sensors obtain data about thehealth of the driver and/or passenger(s), data about the safety of thedriver and/or passenger(s), and/or data about the comfort of the driverand/or passenger(s). The health data sensors can include sensors in thesteering wheel that can measure various health telemetry for the person(e.g., heart rate, temperature, blood pressure, blood presence, bloodcomposition, etc.). Sensors in the seats may also provide for healthtelemetry (e.g., presence of liquid, weight, weight shifts, etc.).Infrared sensors could detect a person's temperature; optical sensorscan determine a person's position and whether the person has becomeunconscious. Other health sensors are possible and included herein.

Safety sensors can measure whether the person is acting safely. Opticalsensors can determine a person's position and focus. If the person stopslooking at the road ahead, the optical sensor can detect the lack offocus. Sensors in the seats may detect if a person is leaning forward ormay be injured by a seat belt in a collision. Other sensors can detectthat the driver has at least one hand on a steering wheel. Other safetysensors are possible and contemplated as if included herein.

Comfort sensors can collect information about a person's comfort.Temperature sensors may detect a temperature of the interior cabin.Moisture sensors can determine a relative humidity. Audio sensors candetect loud sounds or other distractions. Audio sensors may also receiveinput from a person through voice data. Other comfort sensors arepossible and contemplated as if included herein.

An embodiment of a vehicle control system 204 and its associatedcomponents 204 may be as shown in FIG. 5. In general, the device 212includes a front screen 212 with a touch sensitive display 568. Thefront screen 212 may be disabled and/or enabled by a suitable command.Moreover, the front screen 212 can be touch sensitive and can includedifferent operative areas. For example, a first operative area, withinthe touch sensitive screen 212, may comprise a touch sensitive display568. In general, the touch sensitive display 568 may comprise a fullcolor, touch sensitive display. A second area within each touchsensitive screen 568 may comprise a gesture capture region 572. Thegesture capture region 572 may comprise one or more areas or regionsthat is outside of the touch sensitive display 568 area or screen area212, and that is capable of receiving input, for example in the form ofgestures provided by a user. However, the one or more gesture captureregions 572 do not include pixels that can perform a display function orcapability.

It is further anticipated that a third region of the touch sensitivescreen 568 may comprise one or more configurable areas. The configurablearea is capable of receiving input and has display or limited displaycapabilities. As can be appreciated, the configurable area may occupyany part of the touch sensitive screen 568 not allocated to a gesturecapture region 572 or touch sensitive display 568. In embodiments, theconfigurable area may present different input options to the user. Forexample, the configurable area may display buttons or other relatableitems. Moreover, the identity of displayed buttons, or whether anybuttons are displayed at all within the configurable area of the touchsensitive screen 568 may be determined from the context in which thedevice 212 is used and/or operated. In an exemplary embodiment, thetouch sensitive screen 568 comprises liquid crystal display devicesextending across at least the region of the touch sensitive screen 568that is capable of providing visual output to a user, and a resistiveand/or capacitive input matrix over the regions of the touch sensitivescreen 568 that are capable of receiving input from the user.

One or more display controllers 516 may be provided for controlling theoperation of the touch sensitive screen 568, including input (touchsensing) and output (display) functions. In the exemplary embodimentillustrated in FIG. 5, a touch screen controller 516 is provided for thetouch screen 568. In accordance with some embodiments, the functions ofa touch screen controller 516 may be incorporated into other components,such as a processor 504.

The processor 504 may comprise a general purpose programmable processoror controller for executing application programming or instructions. Inaccordance with at least some embodiments, the processor 504 may includemultiple processor cores, and/or implement multiple virtual processors.In accordance with still other embodiments, the processor 504 mayinclude multiple physical processors. As a particular example, theprocessor 504 may comprise a specially configured application specificintegrated circuit (ASIC) or other integrated circuit, a digital signalprocessor, a controller, a hardwired electronic or logic circuit, aprogrammable logic device or gate array, a special purpose computer, orthe like. The processor 504 generally functions to run programming codeor instructions implementing various functions of the device 212.

A device 212 may also include memory 508 for use in connection with theexecution of application programming or instructions by the processor504, and for the temporary or long term storage of program instructionsand/or data. As examples, the memory 508 may comprise RAM, DRAM, SDRAM,or other solid state memory. Alternatively or in addition, data storage512 may be provided. Like the memory 508, the data storage 512 maycomprise a solid state memory device or devices. Alternatively or inaddition, the data storage 512 may comprise a hard disk drive or otherrandom access memory.

In support of communications functions or capabilities, the device 212can include a cellular telephony module 528. As examples, the cellulartelephony module 528 can comprise a GSM, CDMA, FDMA and/or analogcellular telephony transceiver capable of supporting voice, multimediaand/or data transfers over a cellular network. Alternatively or inaddition, the device 212 can include an additional or other wirelesscommunications module 532. As examples, the other wirelesscommunications module 532 can comprise a Wi-Fi, BLUETOOTH™, WiMax,infrared, or other wireless communications link. The cellular telephonymodule 528 and the other wireless communications module 532 can each beassociated with a shared or a dedicated antenna 524.

A port interface 552 may be included. The port interface 552 may includeproprietary or universal ports to support the interconnection of thedevice 212 to other devices or components, such as a dock, which mayinclude additional or different capabilities from those integral to thedevice 212. In addition to supporting an exchange of communicationsignals between the device 212 and another device or component, thedocking port (not shown) and/or port interface 552 can support thesupply of power to or from the device 212. The port interface 552 alsocomprises an intelligent element that comprises a docking module forcontrolling communications or other interactions between the device 212and a connected device or component.

An input/output module 548 and associated ports may be included tosupport communications over wired networks or links, for example withother communication devices, server devices, and/or peripheral devices.Examples of an input/output module 548 include an Ethernet port, aUniversal Serial Bus (USB) port, Institute of Electrical and ElectronicsEngineers (IEEE) 1594, or other interface.

An audio input/output interface/device(s) 544 can be included to provideanalog audio to an interconnected speaker or other device, and toreceive analog audio input from a connected microphone or other device.As an example, the audio input/output interface/device(s) 544 maycomprise an associated amplifier and analog to digital converter.Alternatively or in addition, the device 212 can include an integratedaudio input/output device 556 and/or an audio jack for interconnectingan external speaker or microphone. For example, an integrated speakerand an integrated microphone can be provided, to support near talk orspeaker phone operations.

Hardware buttons 280 can be included for example for use in connectionwith certain control operations. Examples include a master power switch,volume control, etc., as described in conjunction with FIG. 2. One ormore image capture interfaces/devices, such as a camera, can be includedfor capturing still and/or video images. Alternatively or in addition,an image capture interface/device can include a scanner or code reader.An image capture interface/device can include or be associated withadditional elements, such as a flash or other light source.

The device 212 can also include a global positioning system (GPS)receiver 536. In accordance with embodiments of the present invention,the GPS receiver 536 may further comprise a GPS module that is capableof providing absolute location information to other components of thedevice 212. Other sensors 242 may also be included. For example, anaccelerometer(s)/gyroscope(s) may also be included. For example, inconnection with the display of information to a user and/or otherfunctions, a signal from the accelerometer/gyroscope can be used todetermine an orientation and/or format in which to display thatinformation to the user. In some embodiments, theaccelerometer/gyroscope may comprise at least one accelerometer and atleast one gyroscope.

Embodiments of the present invention can also include one or moremagnetic sensing feature. The magnetic sensing feature can be configuredto provide a signal indicating the position of the device relative to avehicle-mounted position. This information can be provided as an input,for example to a user interface application, to determine an operatingmode, characteristics of the touch sensitive display 568 and/or otherdevice 212 operations. As examples, a magnetic sensing feature cancomprise one or more of Hall-effect sensors, a multiple position switch,an optical switch, a Wheatstone bridge, a potentiometer, or otherarrangement capable of providing a signal indicating of multiplerelative positions the touch screens are in. Alternatively, the magneticsensing feature may comprise one or more metallic elements used by othersensors associated with the console and/or vehicle to determine whetherthe device 212 is in a vehicle-mounted position. These metallic elementsmay include but are not limited to rare-earth magnets, electromagnets,ferrite and/or ferrite alloys, and/or other material capable of beingdetected by a range of sensors.

Communications between various components of the device 212 can becarried by one or more buses 520. In addition, power can be supplied tothe components of the device 212 from a power source and/or powercontrol module 560. The power control module 560 can, for example,include a battery, an AC to DC converter, power control logic, and/orports for interconnecting the device 212 to an external source of power.

An embodiment of one or more software modules that may be associatedwith the vehicle control system 204 may be as shown in FIG. 6. Thememory 508 may store and the processor 504 may execute one or moresoftware components. These components can include at least one operatingsystem (OS) 616, an application manager 662, a console desktop 666,and/or one or more applications 664 a and/or 664 b from an applicationstore 660. The OS 616 can include a framework 620, one or more framebuffers 648, one or more drivers 612, and/or a kernel 618. The OS 616can be any software, consisting of programs and data, which managescomputer hardware resources and provides common services for theexecution of various applications 664. The OS 616 can be any operatingsystem and, at least in some embodiments, dedicated to mobile devices,including, but not limited to, Linux, ANDROID™, iPhone OS (IOS™),WINDOWS PHONE 7™, etc. The OS 616 is operable to provide functionalityto the device 212 by executing one or more operations, as describedherein.

The applications 664 can be any higher level software that executesparticular console functionality for the user. Applications 664 caninclude programs such as vehicle control applications, email clients,web browsers, texting applications, games, media players, office suites,etc. The applications 664 can be stored in an application store 660,which may represent any memory or data storage, and the managementsoftware associated therewith, for storing the applications 664. Onceexecuted, the applications 664 may be run in a different area of memory608.

The framework 620 may be any software or data that allows the multipletasks running on the device to interact. In embodiments, at leastportions of the framework 620 and the discrete components describedhereinafter may be considered part of the OS 616 or an application 664.However, these portions will be described as part of the framework 620,but those components are not so limited. The framework 620 can include,but is not limited to, a Surface Cache module 628, a Window Managementmodule 632, an Input Management module 636, an Application Model Manager642, a Display Controller 644, one or more frame buffers 648, and/or anevent buffer 666.

The Surface Cache module 628 includes any memory or storage and thesoftware associated therewith to store or cache one or more images ofapplications, windows, and/or console screens. A series of active and/ornon-active windows (or other display objects, such as, a desktopdisplay) can be associated with each display. An active window (or otherdisplay object) is currently displayed. A non-active window (or otherdisplay objects) was opened and, at some time, displayed but are now notdisplayed. To enhance the user experience, before a window transitionsfrom an active state to an inactive state, a “screen shot” of a lastgenerated image of the window (or other display object) can be stored.The Surface Cache module 628 may be operable to store a bitmap of thelast active image of a window (or other display object) not currentlydisplayed. Thus, the Surface Cache module 628 stores the images ofnon-active windows (or other display objects) in a data store.

In embodiments, the Window Management module 632 is operable to managethe windows (or other display objects) that are active or not active oneach of the displays. The Window Management module 632, based oninformation from the OS 616, or other components, determines when awindow (or other display object) is visible or not active. The WindowManagement module 632 may then put a non-visible window (or otherdisplay object) in a “not active state” and, in conjunction with theTask Management module 640 suspends the application's operation.Further, the Window Management module 632 may assign a displayidentifier to the window (or other display object) or manage one or moreother items of data associated with the window (or other displayobject). The Window Management module 632 may also provide the storedinformation to the application 664, or other components interacting withor associated with the window (or other display object). The WindowManagement module 632 can also associate an input task with a windowbased on window focus and display coordinates within the motion space.

The Input Management module 636 is operable to manage events that occurwith the device. An event is any input into the window environment, forexample, a user interface interactions with a user. The Input Managementmodule 636 receives the events and logically stores the events in anevent buffer 656. Events can include such user interface interactions asa “down event,” which occurs when the screen 204 receives a touch signalfrom a user, a “move event,” which occurs when the screen 204 determinesthat a user's finger is moving across a screen(s), an “up event”, whichoccurs when the device 212 determines that the user has stopped touchingthe screen 568 etc. These events are received, stored, and forwarded toother modules by the Input Management module 636. The Input Managementmodule 636 may also map screen inputs to a motion space which is theculmination of all physical and virtual display available on the device.

The frame buffer 648 is a logical structure(s) used to render the userinterface. The frame buffer 648 can be created and destroyed by the OSkernel 618. However, the Display Controller 644 can write the imagedata, for the visible windows, into the frame buffer 648. A frame buffer648 can be associated with one screen or multiple screens. Theassociation of a frame buffer 648 with a screen can be controlleddynamically by interaction with the OS kernel 618. A composite displaymay be created by associating multiple screens with a single framebuffer 648. Graphical data used to render an application's window userinterface may then be written to the single frame buffer 648, for thecomposite display, which is output to the multiple screens 204. TheDisplay Controller 644 can direct an application's user interface to aportion of the frame buffer 648 that is mapped to a particular display208, thus, displaying the user interface on only one screen 212. TheDisplay Controller 644 can extend the control over user interfaces tomultiple applications, controlling the user interfaces for as manydisplays as are associated with a frame buffer 648 or a portion thereof.This approach compensates for the physical screen 212 and any otherconsole screens that are in use by the software component above theDisplay Controller 644.

The Application Manager 662 is an application that provides apresentation layer for the window environment. Thus, the ApplicationManager 662 provides the graphical model for rendering. Likewise, theDesktop 666 provides the presentation layer for the Application Store660. Thus, the desktop provides a graphical model of a surface havingselectable application icons for the Applications 664 in the ApplicationStore 660 that can be provided to the Window Management Module 632 forrendering.

Further, the framework can include an Application Model Manager (AMM)642. The Application Manager 662 may interface with the AMM 642. Inembodiments, the AMM 642 receives state change information from thedevice 212 regarding the state of applications (which are running orsuspended). The AMM 642 can associate bit map images from the SurfaceCache Module 628 to the applications that are alive (running orsuspended). Further, the AMM 642 may provide a list of executingapplications to the Application Manager 662.

One or more gestures used to interface with the vehicle control system204 may be as described in conjunction with FIGS. 7A through 7K. FIGS.7A through 7H depict various graphical representations of gesture inputsthat may be recognized by the screen(s) 212. The gestures may beperformed not only by a user's body part, such as a digit, but also byother devices, such as a stylus, that may be sensed by the contactsensing portion(s) of a screen 212. In general, gestures are interpreteddifferently, based on where the gestures are performed (either directlyon the display 568 or in the gesture capture region 572). For example,gestures in the display 568 may be directed to a desktop or application,and gestures in the gesture capture region 572 may be interpreted as forthe system.

With reference to FIGS. 7A-7H, a first type of gesture, a touch gesture720, is substantially stationary on the screen 212 for a selected lengthof time. A circle 728 represents a touch or other contact type receivedat particular location of a contact sensing portion of the screen. Thecircle 728 may include a border 732, the thickness of which indicates alength of time that the contact is held substantially stationary at thecontact location. For instance, a tap 720 (or short press) has a thinnerborder 732 a than the border 732 b for a long press 724 (or for a normalpress). The long press 724 may involve a contact that remainssubstantially stationary on the screen for longer time period than thatof a tap 720. As will be appreciated, differently defined gestures maybe registered depending upon the length of time that the touch remainsstationary prior to contact cessation or movement on the screen.

With reference to FIG. 7C, a drag gesture 700 on the screen 212 is aninitial contact (represented by circle 728) with contact movement 736 ina selected direction. The initial contact 728 may remain stationary onthe screen 212 for a certain amount of time represented by the border732. The drag gesture typically requires the user to contact an icon,window, or other displayed image at a first location followed bymovement of the contact in a drag direction to a new second locationdesired for the selected displayed image. The contact movement need notbe in a straight line but have any path of movement so long as thecontact is substantially continuous from the first to the secondlocations.

With reference to FIG. 7D, a flick gesture 704 on the screen 212 is aninitial contact (represented by circle 728) with truncated contactmovement 736 (relative to a drag gesture) in a selected direction. Inembodiments, a flick has a higher exit velocity for the last movement inthe gesture compared to the drag gesture. The flick gesture can, forinstance, be a finger snap following initial contact. Compared to a draggesture, a flick gesture generally does not require continual contactwith the screen 212 from the first location of a displayed image to apredetermined second location. The contacted displayed image is moved bythe flick gesture in the direction of the flick gesture to thepredetermined second location. Although both gestures commonly can movea displayed image from a first location to a second location, thetemporal duration and distance of travel of the contact on the screen isgenerally less for a flick than for a drag gesture.

With reference to FIG. 7E, a pinch gesture 708 on the screen 212 isdepicted. The pinch gesture 708 may be initiated by a first contact 728to the screen 212 by, for example, a first digit and a second contact728 b to the screen 212 by, for example, a second digit. The first andsecond contacts 728 a,b may be detected by a common contact sensingportion of a common screen 212, by different contact sensing portions ofa common screen 212, or by different contact sensing portions ofdifferent screens 212. The first contact 728 a is held for a firstamount of time, as represented by the border 732 a, and the secondcontact 728 b is held for a second amount of time, as represented by theborder 732 b. The first and second amounts of time are generallysubstantially the same, and the first and second contacts 728 a,bgenerally occur substantially simultaneously. The first and secondcontacts 728 a,b generally also include corresponding first and secondcontact movements 736 a,b, respectively. The first and second contactmovements 736 a,b are generally in opposing directions. Stated anotherway, the first contact movement 736 a is towards the second contact 736b, and the second contact movement 736 b is towards the first contact736 a. More simply stated, the pinch gesture 708 may be accomplished bya user's digits touching the screen 212 in a pinching motion.

With reference to FIG. 7F, a spread gesture 710 on the screen 212 isdepicted. The spread gesture 710 may be initiated by a first contact 728a to the screen 212 by, for example, a first digit and a second contact728 b to the screen 212 by, for example, a second digit. The first andsecond contacts 728 a,b may be detected by a common contact sensingportion of a common screen 212, by different contact sensing portions ofa common screen 212, or by different contact sensing portions ofdifferent screens 212. The first contact 728 a is held for a firstamount of time, as represented by the border 732 a, and the secondcontact 728 b is held for a second amount of time, as represented by theborder 732 b. The first and second amounts of time are generallysubstantially the same, and the first and second contacts 728 a,bgenerally occur substantially simultaneously. The first and secondcontacts 728 a,b generally also include corresponding first and secondcontact movements 736 a,b, respectively. The first and second contactmovements 736 a,b are generally in a common direction. Stated anotherway, the first and second contact movements 736 a,b are away from thefirst and second contacts 728 a,b. More simply stated, the spreadgesture 710 may be accomplished by a user's digits touching the screen212 in a spreading motion.

The above gestures may be combined in any manner, such as those shown byFIGS. 7G and 7H, to produce a determined functional result. For example,in FIG. 7G a tap gesture 720 is combined with a drag or flick gesture712 in a direction away from the tap gesture 720. In FIG. 7H, a tapgesture 720 is combined with a drag or flick gesture 712 in a directiontowards the tap gesture 720.

The functional result of receiving a gesture can vary depending on anumber of factors, including a state of the vehicle 104, display 568, orscreen 212, a context associated with the gesture, or sensed location ofthe gesture. The state of the vehicle commonly refers to one or more ofa configuration of the vehicle 104, a display orientation, and user andother inputs received by the vehicle 104. Context commonly refers to oneor more of the particular application(s) selected by the gesture and theportion(s) of the application currently executing, whether theapplication is a single- or multi-screen application, and whether theapplication is a multi-screen application displaying one or morewindows. Sensed location of the gesture commonly refers to whether thesensed set(s) of gesture location coordinates are on a touch sensitivedisplay 568 or a gesture capture region 572, whether the sensed set(s)of gesture location coordinates are associated with a common ordifferent display or screen 212, and/or what portion of the gesturecapture region contains the sensed set(s) of gesture locationcoordinates.

A tap, when received by an a touch sensitive display 568, can be used,for instance, to select an icon to initiate or terminate execution of acorresponding application, to maximize or minimize a window, to reorderwindows in a stack, and to provide user input such as by keyboarddisplay or other displayed image. A drag, when received by a touchsensitive display 568, can be used, for instance, to relocate an icon orwindow to a desired location within a display, to reorder a stack on adisplay, or to span both displays (such that the selected windowoccupies a portion of each display simultaneously). A flick, whenreceived by a touch sensitive display 568 or a gesture capture region572, can be used to relocate a window from a first display to a seconddisplay or to span both displays (such that the selected window occupiesa portion of each display simultaneously). Unlike the drag gesture,however, the flick gesture is generally not used to move the displayedimage to a specific user-selected location but to a default locationthat is not configurable by the user.

The pinch gesture, when received by a touch sensitive display 568 or agesture capture region 572, can be used to minimize or otherwiseincrease the displayed area or size of a window (typically when receivedentirely by a common display), to switch windows displayed at the top ofthe stack on each display to the top of the stack of the other display(typically when received by different displays or screens), or todisplay an application manager (a “pop-up window” that displays thewindows in the stack). The spread gesture, when received by a touchsensitive display 568 or a gesture capture region 572, can be used tomaximize or otherwise decrease the displayed area or size of a window,to switch windows displayed at the top of the stack on each display tothe top of the stack of the other display (typically when received bydifferent displays or screens), or to display an application manager(typically when received by an off-screen gesture capture region on thesame or different screens).

The combined gestures of FIG. 7G, when received by a common displaycapture region in a common display or screen 212, can be used to hold afirst window location constant for a display receiving the gesture whilereordering a second window location to include a window in the displayreceiving the gesture. The combined gestures of FIG. 7H, when receivedby different display capture regions in a common display or screen 212or in different displays or screens, can be used to hold a first windowlocation for a display receiving the tap part of the gesture whilereordering a second window location to include a window in the displayreceiving the flick or drag gesture. Although specific gestures andgesture capture regions in the preceding examples have been associatedwith corresponding sets of functional results, it is to be appreciatedthat these associations can be redefined in any manner to producediffering associations between gestures and/or gesture capture regionsand/or functional results.

Gestures that may be completed in three-dimensional space and not on atouch sensitive screen 568 or gesture capture region 572 may be as shownin FIGS. 71 through 7K. The gestures may be completed in an area where asensor 242, such as an optical sensor, infrared sensor, or other type ofsensor, may detect the gesture. For example, the gesture 740 in FIG. 7I,a person may open their hand 764 and move their hand in a back and forthdirection 748 as a gesture 740 to complete some function with thevehicle 104. For example gesture 764 may change the station of the radioin the vehicle 104. The sensors 242 may both determine the configurationof the hand and the vector of the movement. The vector and handconfiguration can be interpreted to mean certain things to the vehiclecontrol system 204 and produce different results.

In another example of a gesture 752 in FIG. 7J, a user may configuretheir hand 764 to extend two fingers and move the hand in an up and downoperation 756. This gesture 752 may control the volume of the radio orsome other function. Again, the sensors 242 may determine how the personhas configured their hand gesture, and the vector of the movement. Inanother example of a gesture 760 shown in FIG. 7K, a user may extendtheir middle three fingers at an angle 45° from straight vertical andcircle the hand in a counter-clockwise motion 764. This gesture 760 maycause the automobile to change the heat or do some other function. Ascan be understood by one skilled in the art, the configurations of thehand and the types of movement are variable. Thus, the user mayconfigure the hand 764 in any way imaginable and may also move that hand764 in any direction with any vector in three-dimensional space.

The gestures 740, 752, 760, as shown in FIG. 7I through 7K, may occur ina predetermined volume of space within the vehicle 104. For example, asensor 242 may be configured to identify such gestures 740, 752, 760between the front passenger's and front driver's seats over a consolearea within the passenger compartment of the automobile 104. Thegestures 740, 752, 760 may be made within area 1 304 a between zones A312 a and B 312 b. However, there may be other areas 308 where a usermay use certain gestures, where sensors 242 may be able to determine acertain function is desired. Gestures that may be similar but used indifferent areas within the vehicle 104 may cause different functions tobe performed. For example, the gesture 740 in FIG. 7I, if used in zone E312 e, may change the heat provided in zone E 312 e, but may change thestation of a radio if used in zone A 312 a. Further, the gestures may bemade with other body parts or, for example, different expressions of apersons' face may be used to control functions in the vehicle 104. Also,the user may use two hands in some circumstances or do other types ofphysical movements that can cause different reactions in the vehicle104.

An embodiment of a data structure 800 to store different settings isshown in FIG. 8. The data structure 800 may include one or more of datafiles or data objects 804. Thus, the data structure 800 may representdifferent types of data bases or data storage, for example,object-oriented data bases, flat file data structures, relationaldatabase, or other types of data storage arrangements. The data file 804may include several portions 808-836 representing different types ofdata. Each of these types of data may be associated with a user, asshown in portion 808.

There may be one or more user records 840 and associated data storedwithin the data file 804. The user can be any person that uses or rideswithin the vehicle or conveyance 104. The user may be identified inportion 812. For the vehicle 104, the user may include a set of one ormore features that may identify the user. These features may be thephysical characteristics of the person that may be identified by facialrecognition or some other type of system. In other embodiments, the usermay provide a unique code to the vehicle control system 204 or providesome other type of data that allows the vehicle control system 204 toidentify the user. The features or characteristics of the user are thenstored in portion 812.

Each user identified in portion 808 may have a different set of settingsfor each area 308 and/or each zone 312 within the vehicle 104. Thus,each set of setting may also be associated with a predetermined zone 312or area 308. The zone 312 is stored in portion 820 and the area 308 isstored in portion 816.

One or more settings may be stored in portion 824. These settings 824may be the configurations of different functions within the vehicle 104that are specified by or for that user. For example, the settings 824may be the position of a seat, the position of a steering wheel, aheating/cooling setting, a radio setting, a cruise control setting, orsome other type of setting associated with the vehicle 104. Further, invehicles adapted to have a configurable console or a configurable dashor heads-up display, the settings 824 may also provide for how thatheads-up display, dash, or console are configured for this particularuser. Each setting 824 may be associated with a different area 308 orzone 312. Thus, there may be more settings 824 for when the user is thedriver and in zone A, 312A, of area 1, 308A. However, there may besimilar settings 824 among the different zones 312 or areas 308 as shownin portion 824. For example, the heating or radio settings for the usermay be similar in every zone 312.

The sensors 242 within the vehicle 104 may be able to either obtain ortrack health data in portion 828. Health data 828 may include any typeof physical characteristic associated with the user. For example, aheart rate, a blood pressure, a temperature, or other types of heathdata may be obtained and stored in portion 828. The user may have thishealth data tracked over a period of time to allow for statisticalanalysis of the user's health while operating the vehicle 104. In thisway if some function of the user's health deviates from a norm, thevehicle 104 may be able to determine there is a problem with the personand react to that data.

One or more gestures may be stored in portion 832. Thus, the gesturesused and described in conjunction FIG. 7A through 7K may beconfigurable. These gestures may be determined or created by the userand stored in portion 832. A user may have different gestures for eachzone 312 or area 308 within the vehicle. The gestures that do certainthings while driving may do other things while in a different area 308of the vehicle 104. Thus, the user may use a first set of gestures whiledriving and a second set while a passenger. Further, one or more usersmay share gestures as shown in portion 832. Each driver may have acommon set of gestures that they use in zone A, 312 a. Each of thesegestures may be determined or captured and then stored with theiraverage characteristics (e.g., vector, position of gesture, etc.) inportion 832.

One or more sets of safety parameters may be stored in portion 836.Safety parameters 836 may be common operating characteristics for thisdriver/passenger or for all drivers/passengers that if deviated from maydetermine there is a problem with the driver/passenger or the vehicle104. For example, a certain route may be taken repeatedly and an averagespeed or mean speed may be determined. If the mean speed deviates bysome number of standard deviations, a problem with the vehicle 104 orthe user may be determined. In another example, the healthcharacteristics or driving experience of the user may be determined. Ifthe user drives in a certain position where their head occupies acertain portion of three-dimensional space within the vehicle 104, thevehicle control system 204 may determine that the safety parameterincludes the users face or head being within this certain portion of thevehicle interior space. If the user's head deviates from that interiorspace for some amount of time, the vehicle control system 204 candetermine that something is wrong with the driver and change thefunction or operation of the vehicle 104 to assist the driver. This mayhappen, for example, when a user falls asleep at the wheel. If theuser's head droops and does no longer occupy a certain three dimensionalspace, the vehicle control system 204 can determine that the driver hasfallen asleep and may take control of the operation of the vehicle 204and steer the vehicle 204 to the side of the road. In other examples, ifthe user's reaction time is too slow or some other safety parameter isnot nominal, the vehicle control system 204 may determine that the useris inebriated or having some other medical problem. The vehicle controlsystem 204 may then assume control of the vehicle to ensure that thedriver is safe.

An embodiment for communication system configuration 900 is shown inFIG. 9. Here the vehicle 104 is shown with an interior cabin. Theinterior cabin may include two or more different communicationtransceivers 904. The communication transceivers 904 may be positionedwithin the vehicle cabin as to provide for signal identification andlocation. For example, the communication transceivers 904 a, 904 b, 904c, and 904 d are currently located at the corners or extents of theinterior cabin of the vehicle 104. In this way, signals received by thecommunication transceivers 904 may be studied or analyzed to identifythe origin location of the signal. As such, the communicationtransceivers 904 can create a geo-fence (i.e., a virtual perimeter for areal-world geographic area) around the vehicle 104 that allows thecommunication system to determine whether received signals are currentlyoriginating inside the vehicle 104.

An embodiment of a communication system or network 1000 is shown in FIG.10. The communication system 1000 can include two or more BLUETOOTH™transceivers 1004. Each BLUETOOTH™ transceiver 1004 may be paired with asingle-user device 1008. Thus, BLUETOOTH™ transceiver 1 1004A maycommunicate with user 1 device 1008A. There may be any number ofdifferent BLUETOOTH™ transceivers as represented by ellipses 1032.BLUETOOTH™ transceivers 1004 may conduct communications using theBLUETOOTH™ protocol with the user device 1008. Information receivedand/or sent to the user device 1008 may originate from the communicationsystem 1028. An embodiment of a communication system is as provided inFIG. 11.

The communication system 1000 may also include other communicationcomponents that can communicate with different protocols. For example,communication module 1012 may can communicate using an 802.11, 802.11G,or other wireless LAN protocol. The wireless LAN router/antenna 1012 maycommunicate with another user 1008 c or other components 1024. Thus,those users or components not able to communicate through the array ofBLUETOOTH™ transceivers 1004 may still communicate to the vehiclecommunication system 1028. Other types of communication devices orcomponents may include an Ethernet LAN 1016. The Ethernet LAN 1016 mayinclude one or more hard-wired ports that may be connected within thevehicle 104. There may be other types of protocols or systems used tocommunicate with the communication system 1028, as represented byellipses 1020. The components within the communication system 1000 maybe hardware and/or software and may operate as understood in the art asassociated with these communication protocols.

An embodiment of a communication system 1028 is shown in FIG. 11. Thecommunication system 1028 may include two or more communication modules1104. Each communication module may communicate with a particular typeof communication component, for example, the BLUETOOTH™ transceivers1004, the 802.11 router 1012, or other types of communication systems.The system communication module 1104 may be operable to interface with asingle type of communication component, but provide those signals to acommon signal processor 1108. A translation module 1120 may be operableto translate the received or sent signals into a common format for thesignal processor 1108. The translation module 1120 thus may make thesignals system or protocol agnostic for the signal processor 1108, butalso allow the use of different and varying communication modules 1104.

The signal processor 1108 may be operable to analyze signalcharacteristics, relay messages, or do other types of processing for thecommunication system 1028. A signal processor 1108 can receive signaldata from the communication modules 1104. This data may include timestamps, signal attenuation characteristics, Doppler shiftcharacteristics, and other types of characteristics about the signal.The signal data may then be analyzed with the signal processor 1108 todetermine the location of the source of the signal. This locationdetermination may then be used to determine whether a user is providedaccess to the communication system 1028.

If access is granted, the address module 1112 may provide an address tothe device to provide for inter-device communication or communicationfrom the vehicle 104 to the device. The address module 1112 may be adomain name server (DNS) or other type of addressing system. The signalprocessor 1108 may also store data about the signal, the deviceassociated with the signal, the user associated with the signal, orother data in a signal data database 1116. The database 1116 may be anytype of data structure or data-storage system, for example, anobject-oriented database, flat file database, or other types ofdatabases. The data may include any data received and/or processed bythe signal processor 1108 and used to identify the source location ofthe signals. The information in the database 1116 may be accessed,stored, or managed by the signal processor 1108. The signals received bythe signal processor 1108 may be sent from or sent to the processor 504in the vehicle control system 204.

An embodiment of a method 1200/1236 for creating a universal bus for thevehicle system is shown in FIGS. 12A and 12B. While a general order forthe steps of the method 1200 is shown in FIGS. 12A and 12B. Generally,the method 1200/1236 starts with a start operation 1204/1238 and endswith an end operation 1232/1264. The method 1200/1236 can include moreor fewer steps or can arrange the order of the steps differently thanthose shown in FIGS. 12A and 12B. The method 1200/1236 can be executedas a set of computer-executable instructions executed by a computersystem and encoded or stored on a computer readable medium. Hereinafter,the method 1200/1236 shall be explained with reference to the systems,components, modules, software, data structures, user interfaces, etc.described in conjunction with FIGS. 1-11.

The communication system 1028 may receive a signal from a device, instep 1208. The signal can be received by one of the receivers 904, whichmay include a BLUETOOTH™ transceiver 1004, an 802.11 transceiver 1012,or some other receiver. The signal may then be transferred to thecommunications system 1028.

In step 1212, the communication system 1028 may determine if the signaloriginated from inside the vehicle. Various analyses may be performed onthe signal or on signal information contained in the signal. Some ofthis analysis may be as described in conjunction with FIG. 12B. If thesignal is determined to originate outside the vehicle, the method 1200may proceed NO to step 1216 where the communications system 1028 canreject the receipt of the signal. If the signal is determined to haveoriginated from inside the vehicle, the method 1200 can proceed YES tostep 1220, where the communication system 1028 may make a connection tothe device 1008.

The communication system 1028, in step 1220, can provide an InternetProtocol (IP) address or other type of access such that signals comingfrom the device 1008 thereinafter are not rejected. Other types ofwireless or wired connections may also be made. If the connection iswith a BLUETOOTH™ capable device 1008, the communication system 1028 canpair the device 1008 with a BLUETOOTH™ transceiver 1004, in step 1224.The communication system 1028 may make several pairings as there may betwo or more BLUETOOTH™ transceivers 1008 available. Upon making theconnection or pairing, the communication system 1028 can provide accessto the communication bus 1228, such that signals to and from devices1008 are relayed to the processor 504 of the vehicle control system 204,which may be accessed by the device 1008 sending the signals. In thisway, a communication bus is established through wireless or wiredconnections.

Embodiment of analysis used to determine whether a signal originatesinside a vehicle is shown in FIG. 12B. The signal processor 1108 of thecommunication system 1028 may analyze signal characteristics, in step1240. Signal characteristics can include one or more of, but is notlimited to analyzing signal attenuation, where a signal with a shrinkingstrength or increasing strength may be determined to be moving inrelative proximity or position to the vehicle 104, analyzing any Dopplershift in the frequency, which may indicate movement in reference to thevehicle 104, analyzing any kind of delay between receiving the samesignal at the various transceivers 904A through 904D. A difference inthe time of receipt can be used to triangulate where the location of thesignal originated and if that location is outside the vehicle or insidethe vehicle.

The signal processor 1108 can also analyze location information, in step1244. Beyond the signal characteristics, the signal processor 1108 mayreceive information from sensors 242 to determine a location of thevehicle 104. If the location of the vehicle 104 is in an area wherethere is not a likelihood of signal congestion, for example, in thedriveway of someone's home, then all received signals may be determinedto have been with inside the vehicle. Thus, as signals are received andif the location has changed, the signal processor 1108 may determinewhether the current location is an area where there may be more signalsreceived that would be outside the vehicle or whether the signalsreceived has changed.

Analysis of the person sending the signal may also be used, in step1248. Thus, the signal processor 1108 may access signal data 1116 todetermine if the signals have been received from this device or fromthis person before. Thus, the signal may identify a person documented inthe signal data 1116, and the signal processor 1108 may determine ifthat person has used or connected with the signal processor 1108previously. Further, the signal processor 1108 can determine if there ismovement of the vehicle, in step 1252. If a signal remains within thecar after the vehicle 104 moves, then that signal can be determined tobe inside the vehicle 104. For example, if the signal is received at thebeginning of a route and then at some time thereinafter the signalcontinues to be received, then it is determined that signal may beinside the vehicle 104.

Further, sensor data may be analyzed, in step 1256. Sensor data mayinclude such things as determining if there are people and the number ofpeople within a car. Thus, if there are three people in the vehicle 104and three signals are received, all three signals may be determined tobe inside the vehicle. Further, it may be possible for the sensors 242to determine if a device is currently being used inside the vehicle. Forexample, if an optical sensor can view a device 1008 within its field ofvision and/or if an electromagnetic field sensor determines that thereis EMF radiation emanating from a location in the vehicle 104, then thesignal processor 1108 can determine that that signal is originatinginside a vehicle 104.

The signal processor 1108 may receive one or more of these analyses andresolve the information, in step 1260. Thus, the signal processor 1108can cross-correlate information from different analyses to determine ifthe signal is within the vehicle 104. Different weight may be given todifferent analyzes to make a determination about where the signaloriginates. In this way, a more robust decision is made as to whether ornot the signal originates in the vehicle 104 and should be allowed toconnect to the universal bus or the routing system of the vehicle 104.

An embodiment of a method 1300 for providing a hot spot in the vehicle104 may be as provided in FIG. 13. While a general order for the stepsof the method 1300 is shown in FIG. 13. Generally, the method 1300starts with a start operation 1304 and ends with an end operation 1332.The method 1300 can include more or fewer steps or can arrange the orderof the steps differently than those shown in FIG. 13. The method 1300can be executed as a set of computer-executable instructions executed bya computer system and encoded or stored on a computer readable medium.Hereinafter, the method 1300 shall be explained with reference to thesystems, components, modules, software, data structures, userinterfaces, etc. described in conjunction with FIGS. 1-12.

A user using a device 1008 may request a function, instead of 1308. Thefunction can be any type of feature or application that may be offeredby the vehicle 104, for example, the playing of multimedia data,provision of access to the internet, e-mail, or other types offunctions. The request may be received by the communication system 1028and processed by the signal processor 1108.

The signal processor 1108 may then determine the available devices orsources for the function, in step 1312. The signal processor 1108 candetermine if one of the devices 1008 already connected within thecommunication system 1028 can provide the function. For example, if thefunction is the provision of a multimedia stream, one of the devices1008 within the vehicle 104 may be able to connect to a source toprovide the multimedia stream. The device 1008 can be a computing systemwith a processor and memory. As such, the signal processor 1108 maydetermine to use what available resources there are to provide thefunction to the requestor.

The signal processor 1108 may also determine the load on each of thedevices, in step 1316. Thus, not only will the signal processor 1108look for an available source, the signal processor 1108 can also lookfor a source that has the least amount of load. The load balancing maybe determined by the number of input/output messages sent between asource or device 1008 and the signal processor 1108, may be determinedby information sent to the signal processor 1108, or may be determinedby some other means.

Based on the available sources and the load, the signal processor 1108can determine a device 1108 or source to select to provide for thefunction, in step 1320. Upon selecting the device 1108 or source, thesignal processor 1108 can send a command or directive to the device 1108or source, in step 1324, to provide the function. The device 1108 orsource may then provide the function, and the requesting device 1108 mayreceive that function, in step 1328.

An embodiment of method 1400 for communication between devices inside avehicle 104 is shown in FIG. 14. While a general order for the steps ofthe method 1400 is shown in FIG. 14. Generally, the method 1400 startswith a start operation 1404 and ends with an end operation 1420. Themethod 1400 can include more or fewer steps or can arrange the order ofthe steps differently than those shown in FIG. 14. The method 1400 canbe executed as a set of computer-executable instructions executed by acomputer system and encoded or stored on a computer readable medium.Hereinafter, the method 1400 shall be explained with reference to thesystems, components, modules, software, data structures, userinterfaces, etc. described in conjunction with FIGS. 1-13.

A communication system 1028 may receive a message from a device 1008, instep 1408. This message may be directed to another device 1008 withinthe vehicle 104. Thus, the communication system 1028 may access signaldata 1116 or address information from an address module 1112 todetermine an address or location for the receiving device 1008. Thisinformation may be used to verify that the message is from a deviceinside the vehicle 104, in step 1412. Thus, the address or otherinformation from the sender may be compared to signal data 1116 and usedto verify the message is authentic. If the message is verified, thecommunication system 1028 may provide the message to the recipientaddress, in step 1416. Using the communication system 1028 devices 1008can communicate without communicating directly between each other orthrough some other communication network. The devices 1008 within thevehicle 104 may use the communication system 1028 to relay messagebetween each other. In this way, the universal bus for the devices 1008is used as a more efficient communication system 1100 that is moresecure and contained within the vehicle 104.

An embodiment of a method 1500 for sharing an application between adevice 1008 and the vehicle system 200 may be as shown in FIG. 15. Whilea general order for the steps of the method 1500 is shown in FIG. 15.Generally, the method 1500 starts with a start operation 1504 and endswith an end operation 1532. The method 1500 can include more or fewersteps or can arrange the order of the steps differently than those shownin FIG. 15. The method 1500 can be executed as a set ofcomputer-executable instructions executed by a computer system andencoded or stored on a computer readable medium. Hereinafter, the method1500 shall be explained with reference to the systems, components,modules, software, data structures, user interfaces, etc. described inconjunction with FIGS. 1-14.

The processor 504 may identify available application sources or devices1008, in step 1508. The available application sources or devices 1008may be determined by sending requests through the communication system1028 to devices 1008/sources. The response may be provided back to theprocessor 504, which may then identify those applications, sources,and/or devices 1008 to a user's touch sensitive display 568. Aninteraction with the touch sensitive display 568 may then activate thefunction in an application, in step 1512. Thus, the processor 504 canreceive the selection of a function or application in the touchsensitive display 568. Based on this selection, the processor 504 maydetermine which function was activated based on what was displayed inthe touch sensitive display 568.

The processor 504 may then send that selection to a device 1008. Uponreceiving the selection, the device 1008 may then execute theapplication or function and command the vehicle system 200 to performthe display of information based on the function, in step 1516. Thus,the processing of the function or application occurs in the device 1008but is displayed in the touch sensitive display 568. The device 1008sends application user interface information or data to the vehiclesystem 504, in step 1520. This information may be displayed in the touchsensitive display 568.

The processor 504 may thereinafter receive an input from the device1008, in step 1524. Any command or information sent to the processor 504may then be executed as an application function on the device 1008 butdisplayed on the touch sensitive display 568 or other display within thevehicle 104, in step 1528. In this way, the device 1008 actuallyexecutes the application while the vehicle 104 displays the userinterface information. The execution of the application appears to occurin the vehicle system 200, but the processing does not actually occur inthe vehicle processor 504.

An embodiment of a method 1600 for providing data or functions throughcloud-based storage or applications is shown in FIG. 16. While a generalorder for the steps of the method 1600 is shown in FIG. 16. Generally,the method 1600 starts with a start operation 1604 and ends with an endoperation 1632. The method 1600 can include more or fewer steps or canarrange the order of the steps differently than those shown in FIG. 16.The method 1600 can be executed as a set of computer-executableinstructions executed by a computer system and encoded or stored on acomputer readable medium. Hereinafter, the method 1600 shall beexplained with reference to the systems, components, modules, software,data structures, user interfaces, etc. described in conjunction withFIGS. 1-15.

A processor 504 can determine the devices 1008 connected to thecommunication system 1028, in step 1608. Here, the communication system1028 may send information to the processor 508 from signal data 1116.The signal data 1116 may be sent to the processor 504 from signalprocessor 1108 and available resources, available devices, and availablesources. The processor 504 may also determine cloud sources forapplications or data, in step 1612. The signal processor 1108 maydetermine connections from the devices 1008 to cloud sources. Theconnection information may then be sent from the signal processor 1108to the processor 504. Further, the processor 504 may determine whatcloud sources are available through server 228. The cloud sourceinformation may then be presented in a user interface in the touchsensitive display 568.

From this touch sensitive display 568, the processor 504 can receive aninput on the vehicle user interface, in step 1616. The input may be aselection of a cloud source for an application or for data. Theselection may be analyzed to determine the correct source for that cloudinformation. Thus, the processor 504 may send a command to the signalprocessor 1108 to route the input to the appropriate device 1008 or tothe server 228 that can provide that cloud application/data, in 1620.The processor 504 can leverage the access of other devices 1008 toobtain cloud data. The cloud source may be provided from two or moredifferent devices 1008 or from a device 1008 and the server 228. In thisway, one of the devices 1008 or the server 228 may be selected based onload-balancing principles.

The data may be received through the device 1008 or the server 228 fromthe cloud and can be provided to the signal processor 1108, in step1624. The information may be received from two or more sources and onesource cached so that seamless transition between the sources may occurshould one of the sources become unavailable unexpectedly. The datareceived from the cloud source may then be provided to the vehicle touchsensitive display 568, in 1628. In this way, cloud sources may beleveraged by the vehicle 104, although the access to those cloud sourcesmay be from device 1008.

A method 1700 for streaming multimedia data is shown in FIG. 17. While ageneral order for the steps of the method 1700 is shown in FIG. 17.Generally, the method 1700 starts with a start operation 1704 and endswith an end operation 1740. The method 1700 can include more or fewersteps or can arrange the order of the steps differently than those shownin FIG. 17. The method 1700 can be executed as a set ofcomputer-executable instructions executed by a computer system andencoded or stored on a computer readable medium. Hereinafter, the method1700 shall be explained with reference to the systems, components,modules, software, data structures, user interfaces, etc. described inconjunction with FIGS. 1-16.

A signal processor 1108 can determine devices or sources for multimediadata, in step 1708. The determination may be made by canvassing (e.g.,polling each source for what multimedia the source can provide) thedifferent devices 1008 or the server 228 for information aboutmultimedia data. The received information may be consolidated andpresented on the vehicle touch sensitive display 568, in step 1712.Thus, the user may select from multimedia data in its consolidated formfrom the user interface 568.

The user may select from the vehicle user interface 568 a request formultimedia, in step 1760. The user touch sensitive display 568 canreceive the request and send the request to the processor 504. Theprocessor 504 can determine the source for the multimedia selected andrequest that media from that source, in step 1720. In embodiments theprocessor 504 may request the multimedia from two or more sources. Therequest can be sent from the processor 504 to the signal processor 1108.There, the signal processor 1108 can send the request to the device 1008or to the server 224.

The multimedia received from the source may be cached, in step 1724. Ifmultimedia is being perceived from two or more sources each source maybe cached. One of the sources may be used to present the multimedia datato the user while the other stream of data remains cached. In this way,a fail-safe or fail-over may be provided should one of the sources nolonger provide data or some malfunction may occur.

The processor may then determine if safety parameters are met, in step1728. The provision of certain types of multimedia data, for examplevideo data, may not be allowed during certain vehicle operations or tocertain passengers within the vehicle 104. For example, a driver cannotwatch a movie while driving. Thus, the processor 504 can determine ifthe safety parameters for the particular person desiring the multimediadata are met.

If those safety parameters are not met, the method 1700 proceeds NO tostep 1732. In step 1732, the processor 504 may record the data to localstorage. Thus, the data may be provided at a later time from this localstorage. Likewise, the processor 504 can send a signal to another datastorage element that can record the data. Thus, the processor 504 cancoordinate the recording of the data for the user in a different sourcethat allows the user to view it after they are done operating thevehicle 104.

If the safety parameters are met, the method 1700 proceeds YES to step1736. Here, the data may then be presented in the vehicle 104 to a userinterface 568. This user interface 568 may provide video data, internetdata, audio data, or other types of data. The presentation of the datamay happen in one or more locations within the vehicle 104 and one ormore user interfaces.

Furthermore, while the exemplary aspects, embodiments, and/orconfigurations illustrated herein show the various components of thesystem collocated, certain components of the system can be locatedremotely, at distant portions of a distributed network, such as a LANand/or the Internet, or within a dedicated system. Thus, it should beappreciated, that the components of the system can be combined in to oneor more devices, such as a tablet-like device, or collocated on aparticular node of a distributed network, such as an analog and/ordigital telecommunications network, a packet-switch network, or acircuit-switched network. It will be appreciated from the precedingdescription, and for reasons of computational efficiency, that thecomponents of the system can be arranged at any location within adistributed network of components without affecting the operation of thesystem. For example, the various components can be located in a switchsuch as a PBX and media server, gateway, in one or more communicationsdevices, at one or more users' premises, or some combination thereof.Similarly, one or more functional portions of the system could bedistributed between a telecommunications device(s) and an associatedcomputing device.

Furthermore, it should be appreciated that the various links connectingthe elements can be wired or wireless links, or any combination thereof,or any other known or later developed element(s) that is capable ofsupplying and/or communicating data to and from the connected elements.These wired or wireless links can also be secure links and may becapable of communicating encrypted information. Transmission media usedas links, for example, can be any suitable carrier for electricalsignals, including coaxial cables, copper wire and fiber optics, and maytake the form of acoustic or light waves, such as those generated duringradio-wave and infra-red data communications.

Also, while the flowcharts have been discussed and illustrated inrelation to a particular sequence of events, it should be appreciatedthat changes, additions, and omissions to this sequence can occurwithout materially affecting the operation of the disclosed embodiments,configuration, and aspects.

In yet another embodiment, the systems and methods of this disclosurecan be implemented in conjunction with a special purpose computer, aprogrammed microprocessor or microcontroller and peripheral integratedcircuit element(s), an ASIC or other integrated circuit, a digitalsignal processor, a hard-wired electronic or logic circuit such asdiscrete element circuit, a programmable logic device or gate array suchas PLD, PLA, FPGA, PAL, special purpose computer, any comparable means,or the like. In general, any device(s) or means capable of implementingthe methodology illustrated herein can be used to implement the variousaspects of this disclosure. Exemplary hardware that can be used for thedisclosed embodiments, configurations and aspects includes computers,handheld devices, telephones (e.g., cellular, Internet enabled, digital,analog, hybrids, and others), and other hardware known in the art. Someof these devices include processors (e.g., a single or multiplemicroprocessors), memory, nonvolatile storage, input devices, and outputdevices. Furthermore, alternative software implementations including,but not limited to, distributed processing or component/objectdistributed processing, parallel processing, or virtual machineprocessing can also be constructed to implement the methods describedherein.

In yet another embodiment, the disclosed methods may be readilyimplemented in conjunction with software using object or object-orientedsoftware development environments that provide portable source code thatcan be used on a variety of computer or workstation platforms.Alternatively, the disclosed system may be implemented partially orfully in hardware using standard logic circuits or VLSI design. Whethersoftware or hardware is used to implement the systems in accordance withthis disclosure is dependent on the speed and/or efficiency requirementsof the system, the particular function, and the particular software orhardware systems or microprocessor or microcomputer systems beingutilized.

In yet another embodiment, the disclosed methods may be partiallyimplemented in software that can be stored on a storage medium, executedon programmed general-purpose computer with the cooperation of acontroller and memory, a special purpose computer, a microprocessor, orthe like. In these instances, the systems and methods of this disclosurecan be implemented as program embedded on personal computer such as anapplet, JAVA® or CGI script, as a resource residing on a server orcomputer workstation, as a routine embedded in a dedicated measurementsystem, system component, or the like. The system can also beimplemented by physically incorporating the system and/or method into asoftware and/or hardware system.

Although the present disclosure describes components and functionsimplemented in the aspects, embodiments, and/or configurations withreference to particular standards and protocols, the aspects,embodiments, and/or configurations are not limited to such standards andprotocols. Other similar standards and protocols not mentioned hereinare in existence and are considered to be included in the presentdisclosure. Moreover, the standards and protocols mentioned herein andother similar standards and protocols not mentioned herein areperiodically superseded by faster or more effective equivalents havingessentially the same functions. Such replacement standards and protocolshaving the same functions are considered equivalents included in thepresent disclosure.

The present disclosure, in various aspects, embodiments, and/orconfigurations, includes components, methods, processes, systems and/orapparatus substantially as depicted and described herein, includingvarious aspects, embodiments, configurations embodiments,subcombinations, and/or subsets thereof. Those of skill in the art willunderstand how to make and use the disclosed aspects, embodiments,and/or configurations after understanding the present disclosure. Thepresent disclosure, in various aspects, embodiments, and/orconfigurations, includes providing devices and processes in the absenceof items not depicted and/or described herein or in various aspects,embodiments, and/or configurations hereof, including in the absence ofsuch items as may have been used in previous devices or processes, e.g.,for improving performance, achieving ease and\or reducing cost ofimplementation.

The foregoing discussion has been presented for purposes of illustrationand description. The foregoing is not intended to limit the disclosureto the form or forms disclosed herein. In the foregoing DetailedDescription for example, various features of the disclosure are groupedtogether in one or more aspects, embodiments, and/or configurations forthe purpose of streamlining the disclosure. The features of the aspects,embodiments, and/or configurations of the disclosure may be combined inalternate aspects, embodiments, and/or configurations other than thosediscussed above. This method of disclosure is not to be interpreted asreflecting an intention that the claims require more features than areexpressly recited in each claim. Rather, as the following claimsreflect, inventive aspects lie in less than all features of a singleforegoing disclosed aspect, embodiment, and/or configuration. Thus, thefollowing claims are hereby incorporated into this Detailed Description,with each claim standing on its own as a separate preferred embodimentof the disclosure.

Moreover, though the description has included description of one or moreaspects, embodiments, and/or configurations and certain variations andmodifications, other variations, combinations, and modifications arewithin the scope of the disclosure, e.g., as may be within the skill andknowledge of those in the art, after understanding the presentdisclosure. It is intended to obtain rights which include alternativeaspects, embodiments, and/or configurations to the extent permitted,including alternate, interchangeable and/or equivalent structures,functions, ranges or steps to those claimed, whether or not suchalternate, interchangeable and/or equivalent structures, functions,ranges or steps are disclosed herein, and without intending to publiclydedicate any patentable subject matter.

The embodiments can include a method, comprising receiving a signal at avehicle communication system from a device; automatically determining ifthe signal originates from inside the vehicle; if the signal does notoriginate from inside the vehicle, rejecting the signal; if the signaloriginates from inside the vehicle, communicatively connecting thevehicle communication system to the device; and providing access to avehicle bus.

The vehicle communication system can include a communication system incommunication with two or more transceivers, wherein two or more of thetransceivers are BLUETOOTH transceivers, and wherein two or moreantennas for the vehicle communication system are separated butpositioned within the vehicle.

The communication system can analyze the signal. The analysis includesone or more of: determining signal characteristics; determining locationinformation; determining person information; determining movementinformation; and determining sensor information. The communicationsystem may resolve the analysis to determine if the signal originatedinside the vehicle, wherein the analysis may be weighted to resolve thedetermination of if the signal originated inside the vehicle. Thevehicle communication system can include at least one wireless LANcomponent, wherein the vehicle communication system includes at leastone wireless LAN component, and wherein the device communicates with theat least one wireless LAN component.

The embodiments can also include a vehicle communication system,comprising: two or more BLUETOOTH transceivers; a communication systemcomprising: two or more communication modules; a signal processor;wherein the signal processor is operable to: receive a signal at thevehicle communication system from a device; automatically determine ifthe signal originates from inside the vehicle; if the signal does notoriginate from inside the vehicle, reject the signal; if the signaloriginates from inside the vehicle, communicatively connect the vehiclecommunication system to the device; and provide access to a vehicle bus.

The vehicle communication system can include at least one wireless LANcomponent, and wherein at least one device connects through the wirelessLAN component, wherein the communication system further comprises asignal data database and/or a translator. The signal processor may befurther operable to: determine signal characteristics; determinelocation information; determine person information; determine movementinformation; determine sensor information; and resolve the signalcharacteristics, location information, person information, movementinformation, and sensor information to determine if the signaloriginated inside the vehicle.

The embodiments can also include computer-executable instructionscomprising: instructions to receive a signal at a vehicle communicationsystem from a device; instructions to automatically determine if thesignal originates from inside the vehicle; if the signal does notoriginate from inside the vehicle, instructions to reject the signal; ifthe signal originates from inside the vehicle, instructions tocommunicatively connect the vehicle communication system to the device;and instructions to provide access to a vehicle bus.

The vehicle communication system can includes: at least one wireless LANcomponent, and wherein at least one device connects through the wirelessLAN component; two or more BLUETOOTH transceivers; a communicationsystem comprising: two or more communication modules; a signalprocessor; a signal data database; and a translator.

The signal processor can execute instructions to: determine signalcharacteristics; determine location information; determine personinformation; determine movement information; determine sensorinformation; and resolve the signal characteristics, locationinformation, person information, movement information, and sensorinformation to determine if the signal originated inside the vehicle,wherein the signal characteristics, location information, personinformation, movement information, and sensor information is weighted toresolve the determination of if the signal originated inside thevehicle.

The embodiments can also include a method, comprising: receiving asignal at a vehicle communication system from a device; automaticallydetermining if the signal originates from inside the vehicle; if thesignal does not originate from inside the vehicle, rejecting the signal;if the signal originates from inside the vehicle, communicativelyconnecting the vehicle communication system to the device; receiving arequest for a function; determining one or more of available resources,available devices, and available sources; determining load; selecting adevice or source to provide the function; commanding the device orsource to provide the function; and receiving the function.

The vehicle communication system can include a communication system incommunication with one or more devices, wherein the device is acomputing system. The function may be one of playing of multimedia data,provisioning of access to the internet, or providing access to e-mail.Determining the load may comprise one of: determining a number ofinput/output messages sent between a device and vehicle communicationsystem; or analyzing information sent to the vehicle communicationsystem by the device, wherein the selection of the device or source isbased both on availability and load. A first device may request thefunction and a second device provides the function. A vehiclecommunication system can the request the function and a device providesthe function for the vehicle communication system. A device may requestthe function, and the vehicle communication system provides the functionfor the device.

The embodiments can also include a vehicle communication system,comprising: two or more BLUETOOTH transceivers; a communication systemcomprising: two or more communication modules; a signal processor;wherein the signal processor is operable to: receive a request for afunction; determine one or more of available resources, availabledevices, and available sources; determine load on the one or moreavailable resources, available devices, and available sources; select adevice or source to provide the function; command the device or sourceto provide the function; and receive the function, wherein the functionis one of playing of multimedia data, provisioning of access to theinternet, or providing access to e-mail.

The embodiments can also include computer-executable instructionscomprising: instructions to receive a request for a function;instructions to determine one or more of available resources, availabledevices, and available sources; instructions to determine load on theone or more available resources, available devices, and availablesources; instructions to select a device or source to provide thefunction; instructions to command the device or source to provide thefunction; and instructions to receive the function. The vehiclecommunication system can includes at least one wireless LAN component,and wherein at least one device connects through the wireless LANcomponent; two or more BLUETOOTH transceivers; a communication systemcomprising: two or more communication modules; a signal processor; asignal data database; and a translator. The instructions to determinethe load comprises one of: instructions to determine a number ofinput/output messages sent between a device and vehicle communicationsystem; or instructions to analyze information sent to the vehiclecommunication system by the device, wherein the selection of the deviceor source is based both on availability and load.

The embodiments can also include a method, comprising: receiving asignal at a vehicle communication system from a device; automaticallydetermining if the signal originates from inside the vehicle; if thesignal does not originate from inside the vehicle, rejecting the signal;if the signal originates from inside the vehicle, communicativelyconnecting the vehicle communication system to the device; receiving amessage from a first device; verifying that the message originated frominside the vehicle; and providing the message to a second device. Themessage may be is directed to the second device. The method may alsocomprise: accessing signal data in a signal data database to retrieveaddress information from the second device; accessing signal data in asignal data database to retrieve address information for the firstdevice; comparing an address for the first device in the message withthe retrieved address information, wherein if the address for the firstdevice in the message is the same as the retrieved address information,the message is verified.

The message may be sent through the vehicle communication system to thesecond device. Verifying the message can comprise: determining signalcharacteristics; determining location information; determining personinformation; determining movement information; determining sensorinformation; and resolving the signal characteristics, locationinformation, person information, movement information, and sensorinformation to determine if the message originated inside the vehicle.The vehicle communication system can include at least one wireless LANcomponent, wherein the first device communicates to the second devicethrough the at least one wireless LAN component.

The embodiments can also include a vehicle communication system,comprising: two or more BLUETOOTH transceivers; a communication systemcomprising: two or more communication modules; a signal processor;wherein the signal processor is operable to: receiving a message from afirst device; verifying that the message originated from inside thevehicle; and providing the message to a second device, wherein themessage is directed to the second device. The vehicle communicationsystem can access signal data in a signal data database to retrieveaddress information from the second device, and access signal data in asignal data database to retrieve address information for the firstdevice. The vehicle communication system can also compare an address forthe first device in the message with the retrieved address information,wherein if the address for the first device in the message is the sameas the retrieved address information, the message is verified, whereinthe message is sent through the vehicle communication system to thesecond device.

The embodiments can also include computer-executable instructionscomprising: instructions to receive a message from a first device;instructions to verify that the message originated from inside thevehicle; and instructions to provide the message to a second device.

The vehicle communication system can include at least one wireless LANcomponent, and wherein at least one device connects through the wirelessLAN component; two or more BLUETOOTH transceivers; a communicationsystem comprising: two or more communication modules; a signalprocessor, wherein the communication system further comprises: a signaldata database; and a translator. The instructions can also includeinstructions to access signal data in a signal data database to retrieveaddress information from the second device, instructions to accesssignal data in a signal data database to retrieve address informationfor the first device; and instructions to compare an address for thefirst device in the message with the retrieved address information,wherein if the address for the first device in the message is the sameas the retrieved address information, the message is verified, whereinthe vehicle communication system includes at least one wireless LANcomponent, and wherein the first device communicates to the seconddevice through the at least one wireless LAN component.

The embodiments can also include a method, comprising: receiving asignal at a vehicle communication system from a device; automaticallydetermining if the signal originates from inside the vehicle; if thesignal does not originate from inside the vehicle, rejecting the signal;if the signal originates from inside the vehicle, communicativelyconnecting the vehicle communication system to the device; receiving arequest for a application; determining one or more of availableresources, available devices, and available sources; determining load;activating function on a device or source to execute the application;receiving, from the device, application user interface information ordata at the vehicle to be displayed on a display associated with thevehicle; displaying the application on the display; commanding thevehicle communication system to perform functions for the application;receiving input on the display; based on the input received on thedisplay, executing an application function on the device, wherein thevehicle communication system includes a communication system incommunication with one or more devices.

The device is a computing system, and wherein determining the loadcomprises one of: determining a number of input/output messages sentbetween a device and vehicle communication system; or analyzinginformation sent to the vehicle communication system by the device,wherein the selection of the device or source is based both onavailability and load. The request for the application may be receivedby the vehicle communication system, wherein a device provides theapplication for the vehicle communication system.

The embodiments can also include a vehicle communication system,comprising: two or more BLUETOOTH transceivers; a communication systemcomprising: two or more communication modules; a signal processor;wherein the signal processor is operable to: receive a request for aapplication; determine one or more of available resources, availabledevices, and available sources; determine load; activate function on adevice or source to execute the application; receive, from the device,application user interface information or data at the vehicle to bedisplayed on a display associated with the vehicle; and display theapplication on the display, wherein the signal processor is furtheroperable to receive a command for the vehicle communication system toperform functions for the application, receive input on the display; andbased on the input received on the display, execute an applicationfunction on the device, wherein determining the load comprises one of:determining a number of input/output messages sent between a device andvehicle communication system; or analyzing information sent to thevehicle communication system by the device. The request for theapplication may be received by the vehicle communication system, and adevice provides the application for the vehicle communication system.

The embodiments can also include computer-executable instructionscomprising: instructions to receive a request for a application;instructions to determine one or more of available resources, availabledevices, and available sources; instructions to determine load;instructions to activate function on a device or source to execute theapplication; instructions to receive, from the device, application userinterface information or data at the vehicle to be displayed on adisplay associated with the vehicle; and instructions to display theapplication on the display, wherein the vehicle communication systemincludes: at least one wireless LAN component, and wherein at least onedevice connects through the wireless LAN component; two or moreBLUETOOTH transceivers; a communication system comprising: two or morecommunication modules; a signal processor. The communication system canfurther comprise: a signal data database; and a translator. Theinstructions can further comprise: instructions to receive an input onthe display; and based on the input received on the display,instructions to execute an application function on the device, whereinthe request for the application is received by the vehicle communicationsystem, and wherein a device provides the application for the vehiclecommunication system.

The embodiments can also include a method, comprising: receiving asignal at a vehicle communication system from a device; automaticallydetermining if the signal originates from inside the vehicle; if thesignal does not originate from inside the vehicle, rejecting the signal;if the signal originates from inside the vehicle, communicativelyconnecting the vehicle communication system to the device; determiningone or more of available resources, available devices, and availablesources; determining cloud services connected to the availableresources, available devices, and available sources; receiving input ona user interface of the vehicle, wherein the input requests a cloudservice; routing the input to a device; receiving, from the device, datafrom the cloud service; and providing the data on the display of thevehicle.

A vehicle communication system can send signal data to a processor todetermine the available resources, available devices, and availablesources and the cloud services and determine which cloud sources areavailable through the device, wherein the processor determines whichcloud sources are available through a server. The processor may alsopresent the cloud services information on a touch sensitive display,wherein the device is a computing system, and wherein the cloud serviceis for the provision of data or for the execution of an application. Theinput can be received on the touch sensitive display, wherein the inputis analyzed to determine a correct source for the cloud service, andwherein, based on the analysis, the vehicle communication system routesthe input to the correct device.

The embodiments can also include a vehicle communication system,comprising: two or more BLUETOOTH transceivers; a communication systemcomprising: two or more communication modules; a signal processor;wherein the signal processor is operable to: determine one or more ofavailable resources, available devices, and available sources; determinecloud services connected to the available resources, available devices,and available sources; receive input on a user interface of the vehicle,wherein the input requests a cloud service; route the input to a device;receive, from the device, data from the cloud service; and provide thedata on the display of the vehicle, wherein the signal processordetermines which cloud sources are available through the device, andwherein a processor determines which cloud sources are available througha server. The processor can be further operable to present the cloudservices information on a touch sensitive display, wherein the input isreceived on the touch sensitive display, wherein the input is analyzedto determine a correct source for the cloud service, and wherein, basedon the analysis, the signal processor routes the input to the correctdevice, and wherein the cloud service is for the provision of data orfor the execution of an application.

The embodiments can also include computer-executable instructionscomprising: instructions to determine one or more of availableresources, available devices, and available sources; instructions todetermine cloud services connected to the available resources, availabledevices, and available sources; instructions to receive input on a userinterface of the vehicle, wherein the input requests a cloud service;instructions to route the input to a device; instructions to receive,from the device, data from the cloud service; and instructions toprovide the data on the display of the vehicle, wherein the vehiclecommunication system includes: at least one wireless LAN component, andwherein at least one device connects through the wireless LAN component;two or more BLUETOOTH transceivers; a communication system comprising:two or more communication modules; a signal processor, and wherein thecommunication system further comprises: a signal data database; and atranslator.

The signal processor can determine which cloud sources are availablethrough the device, and wherein a processor determines which cloudsources are available through a server, wherein the cloud service is forthe provision of data or for the execution of an application.

The embodiments can also include a method, comprising: receiving asignal at a vehicle communication system from a device; automaticallydetermining if the signal originates from inside the vehicle; if thesignal does not originate from inside the vehicle, rejecting the signal;if the signal originates from inside the vehicle, communicativelyconnecting the vehicle communication system to the device; determiningone or more of available resources, available devices, and availablesources; determining multimedia sources associated with the availableresources, available devices, and available sources; receiving input ona user interface of the vehicle, wherein the input multimedia; routingthe input to an available resource, available device, and availablesource; receiving a multimedia steam from an available resource,available device, and available source; and presenting the multimediastream on an output of the vehicle.

The method can further comprise caching the multimedia stream, whereintwo or more multimedia streams are received from two or more sources,and wherein all of the two or more multimedia streams are cached.Determining multimedia sources associated with the available resources,available devices, and available sources can comprise canvassing theavailable resources, available devices, and available sources formultimedia available at those available resources, available devices,and available sources. The method can further comprise consolidating themultimedia; and presenting the multimedia on a vehicle touch sensitivedisplay; determining if safety parameters are met for presentation ofthe multimedia stream; if safety parameters are met for presentation ofthe multimedia stream, presenting the multimedia stream; if safetyparameters are not met for presentation of the multimedia stream,recording the multimedia stream, wherein the multimedia stream isrecorded in local storage.

The embodiments can also include a vehicle communication system,comprising: two or more BLUETOOTH transceivers; a communication systemcomprising: two or more communication modules; a signal processor;wherein the signal processor is operable to: determine one or more ofavailable resources, available devices, and available sources; determinemultimedia sources associated with the available resources, availabledevices, and available sources; receive input on a user interface of thevehicle, wherein the input multimedia; route the input to an availableresource, available device, and available source; receive a multimediasteam from an available resource, available device, and availablesource; and present the multimedia stream on an output of the vehicle,wherein two or more multimedia streams are received from two or moresources, and wherein all of the two or more multimedia streams arecached.

The processor can be further operable to: consolidate the multimedia;present the multimedia on a vehicle touch sensitive display; determineif safety parameters are met for presentation of the multimedia stream;if safety parameters are met for presentation of the multimedia stream,present the multimedia stream; and if safety parameters are not met forpresentation of the multimedia stream, record the multimedia stream,wherein the multimedia stream is recorded in local storage in thevehicle or on another storage element not associated with the vehicle.

The embodiments can also include computer-executable instructionscomprising: instructions to determine one or more of availableresources, available devices, and available sources; instructions todetermine multimedia sources associated with the available resources,available devices, and available sources; instructions to receive inputon a user interface of the vehicle, wherein the input multimedia;instructions to route the input to an available resource, availabledevice, and available source; instructions to receive a multimedia steamfrom an available resource, available device, and available source; andinstructions to present the multimedia stream on an output of thevehicle, wherein the vehicle communication system includes: at least onewireless LAN component, and wherein at least one device connects throughthe wireless LAN component; two or more BLUETOOTH transceivers; acommunication system comprising: two or more communication modules; asignal processor, wherein the communication system further comprises: asignal data database; and a translator.

The computer executable instructions can further comprise instructionsto determine if safety parameters are met for presentation of themultimedia stream; if safety parameters are met for presentation of themultimedia stream, instructions to present the multimedia stream; and ifsafety parameters are not met for presentation of the multimedia stream,instructions to record the multimedia stream, wherein the multimediastream is recorded in local storage in the vehicle or on another storageelement not associated with the vehicle.

What is claimed is:
 1. A method, comprising: receiving a signal at avehicle communication system from a device; automatically determining ifthe signal originates from inside the vehicle; if the signal does notoriginate from inside the vehicle, rejecting the signal; if the signaloriginates from inside the vehicle, communicatively connecting thevehicle communication system to the device; determining one or more ofavailable resources, available devices, and available sources;determining multimedia sources associated with the available resources,available devices, and available sources; receiving input on a userinterface of the vehicle, wherein the input multimedia; routing theinput to an available resource, available device, and available source;receiving a multimedia steam from an available resource, availabledevice, and available source; and presenting the multimedia stream on anoutput of the vehicle.
 2. The method of claim 1, further comprisingcaching the multimedia stream.
 3. The method of claim 2, wherein two ormore multimedia streams are received from two or more sources.
 4. Themethod of claim 3, wherein all of the two or more multimedia streams arecached.
 5. The method of claim 4, wherein determining multimedia sourcesassociated with the available resources, available devices, andavailable sources comprises canvassing the available resources,available devices, and available sources for multimedia available atthose available resources, available devices, and available sources. 6.The method of claim 5, further comprising: consolidating the multimedia;and presenting the multimedia on a vehicle touch sensitive display. 7.The method of claim 6, further comprising determining if safetyparameters are met for presentation of the multimedia stream.
 8. Themethod of claim 7, further comprising if safety parameters are met forpresentation of the multimedia stream, presenting the multimedia stream.9. The method of claim 7, further comprising if safety parameters arenot met for presentation of the multimedia stream, recording themultimedia stream.
 10. The method of claim 9, wherein the multimediastream is recorded in local storage.
 11. A vehicle communication system,comprising: two or more BLUETOOTH transceivers; a communication systemcomprising: two or more communication modules; a signal processor;wherein the signal processor is operable to: determine one or more ofavailable resources, available devices, and available sources; determinemultimedia sources associated with the available resources, availabledevices, and available sources; receive input on a user interface of thevehicle, wherein the input multimedia; route the input to an availableresource, available device, and available source; receive a multimediasteam from an available resource, available device, and availablesource; and present the multimedia stream on an output of the vehicle.12. The vehicle communication system of claim 11, wherein two or moremultimedia streams are received from two or more sources, and whereinall of the two or more multimedia streams are cached.
 13. The vehiclecommunication system of claim 11, wherein the processor is furtheroperable to: consolidate the multimedia; and present the multimedia on avehicle touch sensitive display.
 14. The vehicle communication system ofclaim 11, the processor is further operable to: determine if safetyparameters are met for presentation of the multimedia stream; if safetyparameters are met for presentation of the multimedia stream, presentthe multimedia stream; and if safety parameters are not met forpresentation of the multimedia stream, record the multimedia stream. 15.The vehicle communication system of claim 14, wherein the multimediastream is recorded in local storage in the vehicle or on another storageelement not associated with the vehicle.
 16. A computer readable mediumhaving stored thereon computer-executable instructions, the computerexecutable instructions causing a processor to execute a method forproviding a universal bus, the computer-executable instructionscomprising: instructions to determine one or more of availableresources, available devices, and available sources; instructions todetermine multimedia sources associated with the available resources,available devices, and available sources; instructions to receive inputon a user interface of the vehicle, wherein the input multimedia;instructions to route the input to an available resource, availabledevice, and available source; instructions to receive a multimedia steamfrom an available resource, available device, and available source; andinstructions to present the multimedia stream on an output of thevehicle.
 17. The computer readable medium of claim 16, wherein thevehicle communication system includes: at least one wireless LANcomponent, and wherein at least one device connects through the wirelessLAN component; two or more BLUETOOTH transceivers; a communicationsystem comprising: two or more communication modules; a signalprocessor.
 18. The computer readable medium of claim 17, wherein thecommunication system further comprises: a signal data database; and atranslator.
 19. The computer readable medium of claim 18, furthercomprising: instructions to determine if safety parameters are met forpresentation of the multimedia stream; if safety parameters are met forpresentation of the multimedia stream, instructions to present themultimedia stream; and if safety parameters are not met for presentationof the multimedia stream, instructions to record the multimedia stream.20. The computer readable medium of claim 19, wherein the multimediastream is recorded in local storage in the vehicle or on another storageelement not associated with the vehicle.